/ / jQuery filtro per ogni stringa che non è nulla: javascript, jquery, filtro

Filtro jQuery per ogni stringa che non è null - javascript, jquery, filter

Come potrei applicare un filtro jQuery per ogni stringa che non è nulla?

Fondamentalmente, ho il seguente codice e vorrei farlo funzionare per un numero qualsiasi di "selettori" impostati in anticipo.

L'elenco dei selettori disponibili sarebbe in un array.

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

Grazie per eventuali suggerimenti / aiuto!

risposte:

1 per risposta № 1

Per semplificare puoi usare il concatenamento:

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

o anche qualcosa del genere:

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

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