2009-05-17 3 views
0

Kann ich Vergleichsanweisungen innerhalb einer jQuery-Selektormethode verwenden?
z.
Ich habe eine Liste von divs, die von PHP generiert werden, die alle dieselbe CSS-Klasse verwenden, aber Wertattribute von 1, 2, 3 usw. haben. Ich habe auch ein Texteingabefeld mit einer ID. Dieses Feld kann nur Zahlen annehmen. Ich möchte das div (aus der langen Liste) auswählen, das ein Wertattribut hat, das mit dem in das Texteingabefeld eingegebenen Wert übereinstimmt.
Kann ich etwas schreiben, wie folgt aus: ('. $ ("Someclass ") val() == $ (" input # someId") val()')
$Erweiterter jQuery-Selektor

???

+0

Wie kann ein DIV Wert Attribut? – duckyflip

+0

Jedes Element kann ein beliebiges Attribut haben. Obwohl die HTML-Validierung nicht positiv sein wird –

Antwort

7
$('.someClass').filter(function() { 
    return $(this).attr('value') == $('input#someId').val() ; 
}) 
6

Werfen Sie einen Blick auf die CSS3-Selektoren-Seite: http://www.w3.org/TR/css3-selectors/.

Empfohlener Selektor: E [foo = "bar"], wie in '.class [Wert = "' + $ ('# inputId'). Val() + '"]'.

Hinweis: nicht getestet.

2

es ist nur ein Standard-jQuery-Selektor: attributeEquals

<html> 
<head> 
    <title>Just a test</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
    $(function() { 
     $('#txtValue').change(function(){ 
      $('.selectMe').css('color', 'black'); 
      $('.selectMe[value= '+$(this).val()+']').css('color', 'red'); 
     });  
    }); 
    </script> 
</head> 
<body> 
    <input type="text" id="txtValue" value=""/> 
    <div class="selectMe" value="1">one</div> 
    <div class="selectMe" value="2">two</div> 
    <div class="selectMe" value="3">three</div> 
</body> 
</html>