Ich möchte eine jQuery-Funktion, die eine Reihe von data-attributes
filtert.Mehrere Daten-Attribut-Filterung mit Eingabe-Kontrollkästchen
In meiner HTML-Struktur habe ich eine Reihe von Listenelementen und gibt Attribute sind:
data-offer
und data-subcat
diese beiden die Einzelteile mit mehreren Eingangskontrollkästchen, um herauszufiltern, verwendet werden.
Bisher habe ich diese jQuery, die Filtration durchführt aber nicht so, wie ich es möchte.
$(".cs-widget-content").on("change", "input[type=checkbox]", function() {
$(".five-column > li.column").hide();
$(".cs-widget-content").find("input:checked").each(function (i, el) {
$(".five-column > li.column").filter('[data-offer="' + el.id + '"]').show();
});
$(".cs-widget-content").find("input:checked").each(function (j, el) {
$(".five-column > li.column").filter('[data-subcat="' + el.id + '"]').show();
});
});
Hier ist die JSFiddle
Lösung Ich möchte:
Alle Daten sollten Last auf Seite Last sein (was funktioniert).
Die Eingänge Filter für beide Datenattribute sollten zusammenarbeiten (beispielsweise, wenn ein Eingang für
data-offer
geprüft wird, dass Daten zeigen, und wenn diedata-subcat
es wird sich zeigen, die Daten für dieses Attribut in der ebenfalls überprüft wird, previous geprüft vondata-offer
.Wenn eines des Eingangs nicht aktiviert ist, sollten die Daten sichtbar wieder.
sich auf Ihre Hilfe suchen.
Danke
Danke für die Antwort Curt, ich werde das auf meiner Produktionsseite testen Ich werde mit Ergebnissen zu Ihnen zurückkommen. Und ich habe nie AngularJs verwendet, also habe ich keine Ahnung von diesem Framework. – yaqoob
Curt, Ihre jQuery funktioniert perfekt, wie ich wollte :) nur ein kleines Problem auf meinem Ende, wenn ich viele Elemente filtern sie von dort Positionen versteckt Was gut ist, aber das Layout scheint zu brechen. Gibt es eine Möglichkeit, dieses Problem zu beheben? – yaqoob
@yaqoob Das klingt nach einem anderen Thema, vielleicht mit deinem CSS-Styling. Ich würde eine separate Frage mit dem genauen Problem aufwerfen, wenn Sie Hilfe benötigen – Curt