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