/ / jQuery-Filter für jeden String, der nicht null ist - Javascript, Jquery, Filter

jQuery-Filter für jede Zeichenfolge, die nicht null ist - javascript, jquery, filter

Wie wende ich einen jQuery-Filter für jede Zeichenfolge an, die nicht null ist?

Grundsätzlich habe ich den folgenden Code und möchte, dass er für eine beliebige Anzahl von "Selektoren" funktioniert, die zuvor festgelegt wurden.

Die Liste der verfügbaren Selektoren befindet sich in einem 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();
}

Danke für Anregungen / Hilfe!

Antworten:

1 für die Antwort № 1

Zur Vereinfachung können Sie die Verkettung verwenden:

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

oder sogar so etwas:

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

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