jquery Filterung checkbox-Liste durch Eingabefeld
Ich habe eine lange checkbox-Liste (mit gleichen Namen). Ich will erstellen Sie eine Filter-system basiert auf der Eingabe in einem Textfeld. Ich meine, wenn ich Schreibe "ter" in meinem Textfeld möchte ich zeigen nur die chechboxes die Werte übereinstimmt %ter% (bedeutet die phrase "ter" überall). Was ist der beste Weg, um zu erreichen, dass mit Hilfe von jquery? Ich entschuldige mich, wie ich bin sehr neu in jquery.
<input type="checkbox" name="chk" id="chk1" value="casual">casual
<input type="checkbox" name="chk" id="chk2" value="intermediate">intermediate
<input type="checkbox" name="chk" id="chk3" value="hunter">hunter
<input type="checkbox" name="chk" id="chk4" value="forest">forest
<input type="checkbox" name="chk" id="chk5" value="term">extreme
<input type="checkbox" name="chk" id="chk6" value="river">river
<input type="checkbox" name="chk" id="chk7" value="beach">beach
<input type="text" id="chkfilter">
Also, wenn ich Schreibe "ter" in das Textfeld, checkbox 2, 3 und 5 sichtbar sein soll, die anderen verborgen werden soll/gegangen. Wie macht man das? Mit div für jedes einzelne Element? Auch, wie die Suche mit jquery übereinstimmen, %ter%
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie etwas in das Textfeld, aktivieren Sie die Kontrollkästchen, um es zu sehen, dass der string vorhanden ist, in den Wert mit indexOf, und stellen Sie den Anzeige-Eigenschaft basierend auf (I block verwendet, aber inline ist wohl richtig, für die Checkboxen):
Den text nach der checkbox ist nicht Teil der checkbox und nicht versteckt, das zu tun, sollten Sie wahrscheinlich wickeln Sie es in ein label und tun Sie etwas wie dieses JSBIN ??
Könnten Sie filter durch
value
mit dem jQuery "- Attribut Enthält Selector" und dann ausblenden oder deaktivieren der Checkboxen. Über das Etikett - es gibt viele Möglichkeiten, dies zu tun. Entweder wickeln Sie das ganze in einen div und verwenden.parent()
auf dem gefilterten Checkboxen zu verbergen, die ganze Sache, oder wickeln Sie den label-text in eine<label>
mit einer entsprechenden id zu verstecken, danach.Werfen Sie einen Blick auf das jQuery-API-Docs: jQUery API - Attribut Enthält Selector
ich m mit dieser Lösung für filter-checkbox-Namen mit der textbox-Wert