Javascript 如果复选框未通过单击更改,如何使用jQuery进行侦听?
我有许多复选框可以使用另一个jQuery语句更改状态(选中,未选中): 要素:Javascript 如果复选框未通过单击更改,如何使用jQuery进行侦听?,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有许多复选框可以使用另一个jQuery语句更改状态(选中,未选中): 要素: <input type="checkbox" id="select_a">select group A</input> <input type="checkbox" id="select_b">select group B</input> <input type="checkbox" id="mix">select mix</input> &l
<input type="checkbox" id="select_a">select group A</input>
<input type="checkbox" id="select_b">select group B</input>
<input type="checkbox" id="mix">select mix</input>
<div id="group_a">
<input type="checkbox" id="a_1">group A_1</input>
<input type="checkbox" id="a_2">group A_2</input>
</div>
<div id="group_b">
<input type="checkbox" id="b_1">group B_1</input>
<input type="checkbox" id="b_2">group B_2</input>
</div>
我需要一种为组中的每个复选框设置侦听器的方法,我使用的方法如下:
jQuery("div input:checkbox").click(function(e){
alert(e.target.id);
});
但这只适用于鼠标单击复选框的情况,我想知道一种方法,如果不是鼠标选中了复选框,那么可以为每个复选框触发一个事件(设置一个侦听器)
您可以使用事件处理程序
jQuery("div input:checkbox").change(function(){
alert(this.id);
});
尝试
change
事件,对于顶部控件,也可以使用radio
代替复选框,因为任何一个都会被选中:
$(函数(){
变量grp1=$(“#组a”).find('input[type=checkbox');
var grp2=$('#group_b').find('input[type=checkbox]);
$('input[name=grp]')。在('change',函数(e)上{
var id=this.id;
grp1.prop('checked','select_a'==id);
grp2.prop('checked','select_b'==id);
如果('mix'==id){
grp1.等式(0).道具('已检查',为真);
grp2.等式(0).道具('已检查',为真);
}
});
});代码>
选择A组
选择B组
选择混合
A组1
A组2
B_1组
B组2
用键盘选中该框就像单击了它一样,并触发.click()
处理程序。你到底想解决什么问题?
jQuery("div input:checkbox").change(function(){
alert(this.id);
});