jQuery复选框选中状态更改事件当选中/取消选中复选框时,我希望事件触发客户端:$('.checkbox').click(function() {
if ($(this).is(':checked')) {
// Do stuff
}});基本上我希望它发生在页面上的每个复选框上。这种方法是点击并检查状态好吗?我认为必须有一个更清晰的jQuery方式。有人知道解决方案吗?
3 回答
达令说
TA贡献1821条经验 获得超6个赞
绑定到change
事件而不是click
。但是,您可能仍需要检查复选框是否已选中:
$(".checkbox").change(function() { if(this.checked) { //Do stuff }});
在change
事件上绑定事件的主要好处click
是,并非所有单击复选框都会导致它更改状态。如果您只想捕获导致复选框更改状态的事件,则需要使用恰当命名的change
事件。 在评论中编辑
另请注意,我使用的this.checked
不是将元素包装在jQuery对象中并使用jQuery方法,只是因为它直接访问DOM元素的属性更短更快。
编辑(见评论)
要获得所有复选框,您有几个选项。您可以使用:checkbox
伪选择器:
$(":checkbox")
或者您可以使用属性equals selector:
$("input[type='checkbox']")
鸿蒙传说
TA贡献1865条经验 获得超7个赞
这是找到的解决方案是否选中了复选框。使用#prop()函数//
$("#c_checkbox").on('change', function () { if ($(this).prop('checked')) { // do stuff// } });
添加回答
举报
0/150
提交
取消