我可以将单选按钮设置为checked fine,但我想做的是设置一种“侦听器”,当某个单选按钮被选中时激活。
以以下代码为例:
$("#element").click(function()
{
$('#radio_button').attr("checked", "checked");
});
它添加了一个checked属性,一切都很好,但我该怎么做呢 添加警报。例如,选中单选按钮时弹出 没有点击功能的帮助?
我可以将单选按钮设置为checked fine,但我想做的是设置一种“侦听器”,当某个单选按钮被选中时激活。
以以下代码为例:
$("#element").click(function()
{
$('#radio_button').attr("checked", "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();
其他回答
//检查类
if($("input:radio[class='className']").is(":checked")) {
//write your code
}
//通过name检查
if($("input:radio[name='Name']").is(":checked")) {
//write your code
}
//检查数据
if($("input:radio[data-name='value']").is(":checked")) {
//write your code
}
$('#element').click(function() {
if($('#radio_button').is(':checked')) { alert("it's 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();
如果你不想要点击功能 使用Jquery更改函数
$('#radio_button :checked').live('change',function(){
alert('Something is checked.');
});
这应该就是你想要的答案。 如果你使用的Jquery版本高于1.9.1 尝试使用on作为活动功能已被弃用。
由于Parag的解决方案为我抛出了一个错误,下面是我的解决方案(结合David Hedlund和Parag的解决方案):
if (!$("input[name='name']").is(':checked')) {
alert('Nothing is checked!');
}
else {
alert('One of the radio buttons is checked!');
}
这对我来说很有效!