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

以以下代码为例:

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

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


当前回答

由于Parag的解决方案为我抛出了一个错误,下面是我的解决方案(结合David Hedlund和Parag的解决方案):

if (!$("input[name='name']").is(':checked')) {
   alert('Nothing is checked!');
}
else {
   alert('One of the radio buttons is checked!');
}

这对我来说很有效!

其他回答

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

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

工作Jsfiddle这里

$("#radio_1").prop("checked", true);

对于1.6之前的jQuery版本,请使用:

$("#radio_1").attr('checked', 'checked');
$('#element').click(function() {
   if($('#radio_button').is(':checked')) { alert("it's checked"); }
});

试试这个

    if($('input[name="radiobutton"]:checked').length == 0) {
        alert("Radio buttons are not checked");
    }

你必须绑定复选框的单击事件,因为更改事件在IE中不起作用。

$('#radio_button').click(function(){
    // if ($(this).is(':checked')) alert('is checked'); 
    alert('check-checky-check was changed');
});

现在,当你以编程方式改变状态时,你也必须触发这个事件:

$('#radio_button').attr("checked", "checked");
$('#radio_button').click();