/ / jQuery filter pre každý reťazec, ktorý nie je null - javascript, jQuery, filter

filter jQuery pre každý reťazec, ktorý nie je null - javascript, jquery, filter

Ako by som použil filter jQuery pre každý reťazec, ktorý nie je null?

V zásade mám nasledujúci kód a chcel by som, aby fungoval pre ľubovoľný počet vopred vybratých selektorov.

Zoznam dostupných selektorov by bol v poli.

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();
}

Ďakujeme za akékoľvek návrhy / pomoc!

odpovede:

1 pre odpoveď č. 1

Na zjednodušenie môžete použiť reťazenie:

var products = $(".product").filter(selector);
if (typeselector !== "") {
products = products.filter(typeselector);
}
if (colorselector !== "") {
products = products.filter(colorselector);
}
products.show();

alebo dokonca niečo také:

var products = $(".product").filter(selector);
var selectors = [typeselector, colorselector];

selectors.each(function(selector) {
if (selector !== "") {
products = products.filter(selector);
}
});
products.show();