Javascript JQuery:如何确定是否选择了单选按钮?

Javascript JQuery:如何确定是否选择了单选按钮?,javascript,jquery,Javascript,Jquery,如何确定是否选择了单选按钮 例如: if ( radio_button_selected ) { // do something } else { // do something else } if (jQuery("input[name='my_button_group']:checked")) { ... } else { ... } 您可以使用此选择器确定是否选中了任何选项: jQuery("input[name='my_button_group']:check

如何确定是否选择了单选按钮

例如:

if ( radio_button_selected ) {

// do something

} else {

// do something else

}
if (jQuery("input[name='my_button_group']:checked")) {
    ...
}
else {
    ...
}

您可以使用此选择器确定是否选中了任何选项:

jQuery("input[name='my_button_group']:checked")
例如:

if ( radio_button_selected ) {

// do something

} else {

// do something else

}
if (jQuery("input[name='my_button_group']:checked")) {
    ...
}
else {
    ...
}

如果您已经通过其他方式选择了单选按钮
rb
,则可以执行以下操作:

var rb = $('whatever selector');

// other code

if (rb.is(':checked'))
{
  // code
}

如果已经有对元素的引用,则可以使用其
checked
属性:

$('input[type=radio]').focus(function(){
    // "this" is the element that was clicked

    if (this.checked) {
        // do something
    } else {
        // do something else
    }
});

为什么我需要.length>0?@StaceyH-你不需要JavaScript,但这是一个比另一个答案快得多的选择器(因为
输入
)。@Nick Craver…不确定你是否能从我的帖子中看到我的评论。但是请看一看look@John-我想你可能需要那张支票,但是,如果复选框的名称与收音机的名称相同,那么命名也会非常糟糕,因为该值总是会破坏表单序列化输出:)@Nick。。同意,但我看到过一个复选框和一个收音机同名,但一个被禁用,另一个被启用的情况。由于表单上的其他元素,此项发生了更改。这个问题真的让我想到了那个场景。+1能够在代码中重复使用rb进行其他操作(比如获取val())@jelbourn
rb.checked
是一个更好的选择-它更快更可读。@Šime Vidas:
checked
不是jquery列表对象的属性。实际的DOM对象选中了
属性。@jelbourn是的,我错了
rb[0]。选中
是正确的解决方案(而且速度更快)。@Šime Vidas:你说的更快是完全正确的;我做了一个小实验,发现速度大约快了22倍。@Nick Craver。。。贾斯汀的方法和我的不同。
:单选
确保选中单选按钮,而不仅仅是任何名为“yourRadioName”的选中输入。。然而,您是对的,使用输入会执行得更快。这难道不是毫无意义的,因为如果用户“单击”单选按钮,它将始终处于“选中”状态,因此您永远无法获得代码的ELSE条件吗above@StaceyH一个很好的观点。改为
focus
来说明我的观点。这个问题以前被问过很多次。提问前请先搜索答案。