我可以将单选按钮设置为checked fine,但我想做的是设置一种“侦听器”,当某个单选按钮被选中时激活。
以以下代码为例:
$("#element").click(function()
{
$('#radio_button').attr("checked", "checked");
});
它添加了一个checked属性,一切都很好,但我该怎么做呢 添加警报。例如,选中单选按钮时弹出 没有点击功能的帮助?
我可以将单选按钮设置为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这里
其他回答
$("#radio_1").prop("checked", true);
对于1.6之前的jQuery版本,请使用:
$("#radio_1").attr('checked', '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();
$('.radio-button-class-name').is('checked')不适合我,但下面的代码运行良好:
if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
// radio button is checked
}
解决方案很简单,因为当某个单选按钮被选中时,你只需要“监听器”。这样做:
if($('#yourRadioButtonId').is(':checked')){
// Do your listener's stuff here.
}
另一种方法是使用prop (jQuery >= 1.6):
$("input[type=radio]").click(function () {
if($(this).prop("checked")) { alert("checked!"); }
});