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 № 1Per 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();