jQuery match multiple attributes

2019-01-22 01:35发布

I have the following markup, and I want to make the All radio button checked.

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

I'd like to match via attribute, but I need to match on 2 attributes, @name='Foo' and @value='All'.

Something like this:

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

Can someone show how this can be done?

2条回答
Melony?
2楼-- · 2019-01-22 01:38

The following HTML file shows how you can do this:

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

When you click on the link, the desired radio button is selected. The important line is the one setting the checked attribute.

查看更多
等我变得足够好
3楼-- · 2019-01-22 01:41

I was beating my head against a wall similar to this and just want to point out that in jQuery 1.3 the syntax used in the accepted answer is the ONLY syntax that will work. The questioner uses the @ syntax for the expression which does not work at all in jQuery. Hopefully this helps the next guy to come across this question via Google =p

To be clear, you have to use

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

and not

jQuery('input[@name=field1][@val=checked]')
查看更多
登录 后发表回答