मैं हर स्ट्रिंग के लिए एक jQuery फ़िल्टर कैसे लागू करूँगा जो अशक्त नहीं है?
मूल रूप से, मेरे पास निम्न कोड है और इसे पहले से सेट किए जा रहे किसी भी "चयनकर्ता" के लिए काम करना चाहेगा।
उपलब्ध चयनकर्ताओं की सूची एक सरणी में होगी।
if (typeselector === "" && colorselector === "") {
$(".product").filter(selector).show();
} else if (typeselector === "") {
$(".product").filter(selector).filter(colorselector).show();
} else if (colorselector === "") {
$(".product").filter(selector).filter(typeselector).show();
} else {
$(".product").filter(selector).filter(typeselector).filter(colorselector).show();
}
किसी भी सुझाव / मदद के लिए धन्यवाद!
उत्तर:
उत्तर № 1 के लिए 1सरल बनाने के लिए आप चैनिंग का उपयोग कर सकते हैं:
var products = $(".product").filter(selector);
if (typeselector !== "") {
products = products.filter(typeselector);
}
if (colorselector !== "") {
products = products.filter(colorselector);
}
products.show();
या कुछ इस तरह से:
var products = $(".product").filter(selector);
var selectors = [typeselector, colorselector];
selectors.each(function(selector) {
if (selector !== "") {
products = products.filter(selector);
}
});
products.show();