2010-12-09 6 views
3

Ich versuche, bestimmte Elemente zu verbergen, die die Kombination von keyup mit contains verwenden. Ich möchte die Span-Elemente ausblenden, die nicht mit meinen Eingabewerten übereinstimmen.Jquery Keyup mit Enthält, um Span zu verstecken

Wenn ich zum Beispiel den Wert 1 eingabe, werden die Spannen mit den Werten 2 und 3 ausgeblendet, so dass nur die Spanne mit der 1 sichtbar bleibt. Ich möchte es auch all die Spannweiten zeigen, wenn ich dann den Wert 1 aus dem Eingang gelöscht

Hier ist, was ich habe, so weit, http://jsfiddle.net/8TXDM/36/

Antwort

3
var $spans = $(".mydiv span"); 

$('.myinput').keyup(function() { 
    var val = this.value; 
    if (val) { 
     $spans.filter(':contains(' + val + ')').show(); 
     $spans.filter(':not(:contains(' + val + '))').hide(); 
    } else { 
     $spans.show(); 
    } 
}); 

Arbeits Demo: http://jsfiddle.net/8TXDM/38/

0

Firebug sagt:

mydiv is not defined 
[Break On This Error] $(mydiv).find('span:contains(' + (keys) + ')').show(); 
+1

Das ist ein Tippfehler. Das OP bedeutete '$ (". Mydiv ")', nicht '$ (mydiv)' –