查看是否有多个单选按钮被检出

时间:2014-08-08 04:53:47

标签: jquery

任务: 这样有四个单选按钮:

<input type="radio" name="version" class="radio" value="1" id="a">

我需要检查是否选择了其中任何一个。

我尝试了什么:

if ($("input[name='version']").prop("checked")){
       alert("checked");
   }

问题:

这仅适用于第一个单选按钮。如果我检查其他单选按钮,没有...

请帮忙

5 个答案:

答案 0 :(得分:3)

您可以使用jQuery is(),如果检查了任何元素,它将返回true

if ( $("input[name='version']").is(":checked") ) ...

或检查与选中元素匹配的选择器的长度

if ( $("input[name='version']:checked").length ) ...

答案 1 :(得分:2)

您可以使用:checked选择器并使用length检查选择器是否返回任何元素。如果length ,则不检查任何元素,否则检查一个或多个元素。

if($("input[name='version']:checked").length)
{

} 

答案 2 :(得分:2)

你可以试试这个:

if ( $("input[name='version']").is(":checked"))

<强> is()

  

根据选择器元素检查当前匹配的元素集,   或jQuery对象,如果至少有其中一个元素,则返回true   匹配给定的参数。

答案 3 :(得分:1)

尝试此操作:使用jquery选择器获取带name='version'的所有选中的单选按钮,然后检查其长度。如果长度大于零,则表示检查至少一个单选按钮。

if ($("input[name='version']:checked").length > 0){
       alert("checked");
}

答案 4 :(得分:0)

这是因为您只检查第一个元素。 jQuery找到("input[name='version']"的第一个元素,然后调用函数.prop("checked"),因此它只适用于第一个元素。

这会更好用:

if ($("input[name='version']").is(":checked")) {
  //Do Something
}