我有3个单选按钮在我的网页,如下所示:

<标签=“主题灰色”> <输入类型=“无线电” id=“主题-灰色” 名称=“主题” 值=“灰色” />灰色</label> <标签=“主题粉红色”> <输入类型=“收音机” id=“主题-粉红色” 名称=“主题” 值=“粉红色” />粉红色</label> <标签=“主题绿色”> <输入类型=“无线电” id=“主题-绿色” 名称=“主题” 值=“绿色” />绿色</label>

在jQuery中,我想在单击这三个按钮中的任何一个时获得所选单选按钮的值。在jQuery中,我们有id(#)和类(.)选择器,但如果我想找到一个单选按钮的名字,如下所示?

$("<radiobutton name attribute>").click(function(){});

请告诉我如何解决这个问题。


当前回答

如果你想知道点击事件之前默认选中单选按钮的值,试试这个:

alert($("input:radio:checked").val());

其他回答

还可以使用CSS类定义单选按钮的范围,然后使用下面的值来确定

$('.radio_check:checked').val()
$('input:radio[name=theme]:checked').val();

如果你想要一个true/false值,使用这个:

  $("input:radio[name=theme]").is(":checked")
$('input:radio[name=theme]').bind(
  'click',
  function(){
    $(this).val();
});

要确定选中了哪个单选按钮,请尝试以下操作:

$('input:radio[name=theme]').click(function() {
  var val = $('input:radio[name=theme]:checked').val();
});

组中所有单选按钮的事件将被捕获,所选按钮的值将被放置在val中。

更新:在发帖后,我认为Paolo上面的答案更好,因为它少使用了一次DOM遍历。我保留这个答案,因为它展示了如何以跨浏览器兼容的方式获取所选元素。