2009-05-17 8 views
0


par ex.
J'ai une liste de divs générés par php qui utilisent tous la même classe CSS mais ont des attributs de valeur de 1, 2, 3 etc. J'ai aussi un champ de saisie de texte avec un identifiant. Ce champ ne peut accepter que des nombres. Je voudrais sélectionner le div (de la liste longue) qui a un attribut de valeur qui correspond à la valeur mise dans la zone de saisie de texte.
Puis-je écrire quelque chose comme ceci: (.. $ ("SomeClass ") val() == $ (" # entrée someId") val())
$jQuery advanced selector

???

+0

Comment peut un DIV avoir un attribut de valeur? – duckyflip

+0

n'importe quel élément peut avoir n'importe quel attribut. Bien que la validation HTML ne sera pas positiv –

Répondre

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

Jetez un oeil à la page des sélecteurs CSS3: http://www.w3.org/TR/css3-selectors/.

Sélecteur recommandé: E [foo = "bar"], comme dans '.class [value = "' + $ ('# inputId'). Val() + '"]'.

Note: non testé.

2

il est juste un sélecteur standard jquery: 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>