Ich brauche Hilfe. Im Moment versuche ich, eine Client-Suche zu erstellen, aber ich weiß nicht, wie ich Werte aus Eingabetext mit Kontrollkästchen vergleichen kann.

jsFiddle-Beispiel

Beispiel:

jQuery("#searchBox").on("keyup paste", function() {
    var value = jQuery(this).val().toUpperCase();
    var rows = jQuery(".sp_country");
        rows.hide();
        if(value === '') {
            rows.show();
            return false;
        } 
   //need something here to compare values on checkboxes and show does checkedbox who match
});

Hier befindet sich mein Kontrollkästchen

<span class="sp_country">
    <input class="cp_country" style="cursor:pointer; display:none;" type="checkbox" name="country" value="Afghanistan">&nbsp;Afghanistan    
</span>
3
Cindy93 29 Nov. 2013 im 13:33

3 Antworten

Beste Antwort

Sie können die .filter() Methode verwenden:

rows.filter(function() {
   return $(this).text().toUpperCase().indexOf(value) > -1;
}).show();

Oder für den Fall, dass Sie die Eingabe mit dem Wert der Kontrollkästchen vergleichen möchten:

rows.filter(function(){
   return this.children[0].value.toUpperCase().indexOf(value) > -1;
}).show();

Sie können auch die .find() -Methode von jQuery verwenden, um die eingegebenen Nachkommen auszuwählen.

4
undefined 29 Nov. 2013 im 11:41

Versuche dies:

$("#searchBox").on("keyup paste", function() {
    var value = $(this).val().toUpperCase();
    var rows = $(".cp_country");
        rows.hide();
        if(value === '') {
            rows.show();
            return false;
        }
        else{
            rows.each(function(){
               if($(this).val().toUpperCase().indexOf(value) != -1){
                  $(this).show();
               }
               else{ $(this).hide();}
            });

        }
});
0
Ringo 29 Nov. 2013 im 09:53

Versuche dies

$("cp_country").each(function(){
    if($(this).val()==("#searchBox").val()){
        $(this).parent(".sp_country").show();
    }
});

Die ganze Idee ist:

 iterate through each of the checkbox value
 if the value matches with search box value then
   show the parent span element
0
matt freake 29 Nov. 2013 im 09:52