45

我有以下标记,我想All选中单选按钮。

<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>

我想通过属性匹配,但我需要匹配 2 个属性,@name='Foo'并且@value='All'.

像这样的东西:

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

有人可以展示如何做到这一点吗?

4

2 回答 2

69

以下 HTML 文件显示了如何执行此操作:

<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>

单击链接时,将选择所需的单选按钮。重要的一行是设置checked属性的那一行。

于 2008-10-01T02:43:34.430 回答
14

我在与此类似的墙上敲打我的头,只是想指出在 jQuery 1.3 中,接受的答案中使用的语法是唯一可行的语法。提问者使用 @ 语法来表示在 jQuery 中根本不起作用的表达式。希望这可以帮助下一个人通过 Google =p 遇到这个问题

要清楚,你必须使用

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

并不是

jQuery('input[@name=field1][@val=checked]')
于 2009-04-21T08:31:43.613 回答