Question

J'ai le balisage suivant et je souhaite activer la case d'option Tout .

<ul>
    <li><input type="radio" value="All" name="Foo"/>All</li>
    <li><input type="radio" value="New" name="Foo"/>New</li>
    <li><input type="radio" value="Removed" name="Foo"/>Removed</li>
    <li><input type="radio" value="Updated" name="Foo"/>Updated</li>
</ul>

J'aimerais faire correspondre l'attribut via, mais je dois faire correspondre deux attributs, @ name = 'Foo' et @ value = 'All' .

Quelque chose comme ça:

$("input[@name='Foo' @value='all']").attr('checked','checked');

Quelqu'un peut-il montrer comment cela peut être fait?

Était-ce utile?

La solution

Le fichier HTML suivant montre comment procéder:

<html>
  <head>
    <script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        $("a").click(function(event){
          $("input[name='Foo'][value='All']").attr('checked','checked');
          event.preventDefault();
        });
      });
    </script>
  </head>
  <body>
    <ul>
      <li><input type="radio"  value="All"  name="Foo"  />All</li>
      <li><input type="radio"  value="New"  name="Foo"  />New</li>
      <li><input type="radio"  value="Removed"  name="Foo"  />Removed</li>
      <li><input type="radio"  value="Updated"  name="Foo"  />Updated</li>
    </ul>
    <a href="" >Click here</a>
  </body>
</html>

Lorsque vous cliquez sur le lien, le bouton radio de votre choix est sélectionné. La ligne importante est celle définissant l'attribut vérifié .

Autres conseils

Je me frappais la tête contre un mur similaire à celui-ci et je voulais simplement souligner que dans jQuery 1.3, la syntaxe utilisée dans la réponse acceptée est la syntaxe SEULE qui fonctionnera. Le questionneur utilise la syntaxe @ pour l'expression qui ne fonctionne pas du tout dans jQuery. Espérons que cela aide le prochain gars à trouver cette question via Google = p

Pour être clair, vous devez utiliser

jQuery('input[name=field1][val=checked]') 

et non

jQuery('input[@name=field1][@val=checked]')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top