我可以将单选按钮设置为checked fine,但我想做的是设置一种“侦听器”,当某个单选按钮被选中时激活。

以以下代码为例:

$("#element").click(function()
{ 
    $('#radio_button').attr("checked", "checked");
});

它添加了一个checked属性,一切都很好,但我该怎么做呢 添加警报。例如,选中单选按钮时弹出 没有点击功能的帮助?


当前回答

工作与所有类型的单选按钮和浏览器

if($('#radio_button_id')[0].checked) {
   alert("radiobutton checked")
}
else{
   alert("not checked");
}

工作Jsfiddle这里

其他回答

如果你有一组单选按钮共享相同的name属性,并且在提交或某些事件时,你想检查这些单选按钮中的一个是否被选中,你可以简单地通过以下代码做到这一点:

$(document).ready(function(){
  $('#submit_button').click(function() {
    if (!$("input[name='name']:checked").val()) {
       alert('Nothing is checked!');
        return false;
    }
    else {
      alert('One of the radio buttons is checked!');
    }
  });
});

jQuery API参考

如果你不想要点击功能 使用Jquery更改函数

$('#radio_button :checked').live('change',function(){
alert('Something is checked.');
});

这应该就是你想要的答案。 如果你使用的Jquery版本高于1.9.1 尝试使用on作为活动功能已被弃用。

$('.radio-button-class-name').is('checked')不适合我,但下面的代码运行良好:

    if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
     // radio button is checked
    }

... 谢谢大家……我所需要的是选中单选按钮的“值”,其中每个单选按钮在集合中有不同的id…

 var user_cat = $("input[name='user_cat']:checked").val();

对我有用……

解决方案很简单,因为当某个单选按钮被选中时,你只需要“监听器”。这样做:

if($('#yourRadioButtonId').is(':checked')){ 
// Do your listener's stuff here. 
}