1
 <input type="radio" name="a" />
 <input type="radio" name="a" />
 <input type="radio" name="b" />
 <input type="radio" name="b" />

我想确保必须检查both groupof ,为此我尝试了:radiobutton

if($("input[type=radio,name=a]:checked").length > 0 && 
   $("input[type=radio,name=b]:checked").length > 0)
{    
/* do something */
}

但是不工作,谁能告诉我为什么?

4

5 回答 5

6
    if($("input[type=radio][name=a]:checked").length > 0 &&   
   $("input[type=radio][name=b]:checked").length > 0)  
{      
/* do something */  
}  
于 2012-06-02T10:14:21.653 回答
1

工作演示另一种方法:http: //jsfiddle.net/Mwkjs/

代码

$("input[type='radio']").click(function() {

    if ($("input[name='a']").is(":checked") && $("input[name='b']").is(":checked")) { 
        /* do something */
        alert('do something');
    }
});​
于 2012-06-02T10:14:59.843 回答
1

如果您使用的是 JQuery 1.9+,最好的方法是

if ($("#selector").prop('checked')){
   //Code goes here
}

我知道这是一个老问题,如果有人仍在寻找答案,请回答:)

于 2013-10-30T01:07:19.737 回答
0
if($("input:radio[name=a]").is(':checked') && $("input:radio[name=b]").is(':checked')){

/* do something */

}

演示:http: //jsfiddle.net/mck6e/

于 2012-06-02T10:18:07.793 回答
0

要选择多个属性,您应该将它们分开: [type=radio][name=a] 无论如何,对于输入元素,如果需要,您可以省略类型属性比较,甚至可以省略“输入”这个词,因为每个元素都有特定的选择器type (:radio, :checkbox, :submit, etc...),所以在这种情况下你也可以申请:

if($('[name= a]:radio:checked').length>0 && $('[name= b]:radio:checked').length>0)
{
/*...*/
}
于 2012-06-02T10:32:12.537 回答