任务: 这样有四个单选按钮:
<input type="radio" name="version" class="radio" value="1" id="a">
我需要检查是否选择了其中任何一个。
我尝试了什么:
if ($("input[name='version']").prop("checked")){
alert("checked");
}
问题:
这仅适用于第一个单选按钮。如果我检查其他单选按钮,没有...
请帮忙
答案 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
}