/ / jQuery फ़िल्टर प्रत्येक स्ट्रिंग के लिए अशक्त नहीं है - जावास्क्रिप्ट, jquery, फ़िल्टर

प्रत्येक स्ट्रिंग के लिए jQuery फ़िल्टर जो शून्य नहीं है - जावास्क्रिप्ट, jquery, फ़िल्टर

मैं हर स्ट्रिंग के लिए एक 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();