Ich versuche, ein Javascript-Filter mit Kontrollkästchen als Filterkriterien Elemente zu erstellen und versteckt die jeweiligen <li>
Elemente:jQuery-Filter mit Checkbox und li
Hier wird Probe meiner Suchfilter gemacht:
<input type=[checkbox] class="filter" data-city="Memphis">
<input type=[checkbox] class="filter" data-city="Cordova">
<input type=[checkbox] class="filter" data-city="Bartlett">
Und hier sind meine Ergebnisse:
<li class="result" data-city="Memphis">Memphis</li>
<li class="result" data-city="Memphis">Memphis</li>
<li class="result" data-city="Cordova">Cordova</li>
<li class="result" data-city="Bartlett">Bartlett</li>
hier ist mein Javascript, das nicht ganz wie ich es funktioniert möchte:
$('.filter').change(function(){
var city = $(this).data("city");
if($(this).is(":checked")){
$('li.result').is('[data-city="'+city+'"]').show();
$('li.result').not('[data-city="'+city+'"]').hide();
}
else{
$('li.result').not('[data-city="'+city'"]').show();
}
});
Ich am Ende mit einem toggle-artigen Ergebnis. Wie mache ich es, wo für jede Eingabe, die überprüft wird, zeigen Sie die Li's, die damit übereinstimmen, und verstecken Sie die anderen? Außerdem, um diejenigen zu verbergen, wenn sie unkontrolliert werden.
Zum einen sind Sie nicht ein '+' in der 'else' nach' '+ Stadt' "])' – pmahomme
@mikehomme -. Ah ja, dass ein Tippfehler auf meiner Ich habe den Code nicht kopiert und eingefügt, er ist korrekt in meiner eigentlichen Datei –
Das erste, was Sie tun sollten, ist, die Konsole auf Syntaxfehler zu überprüfen und sie zu korrigieren, bevor Sie eine Frage stellen docs von ['jQuery.is'] (http://api.jquery.com/is/), das' is' gibt 'true' zurück und kein jQuery-Ergebnis, daher kann man' show' nicht darauf verweisen Englisch: www.justlanded.nl/english/Kanada/To .../Einfuehrung Schon sprechen Sie über das Filtern, warum haben Sie ['jQuery.filter '] (http://api.jquery.com/filter/) nicht verwendet? –