jQuery复选框选中状态已更改事件

我希望在选中/取消选中复选框时触发客户端事件:

$('.checkbox')。单击(函数(){
如果($(this).is(':checked')){
//做事
}
});

基本上,我希望它发生在页面上的每个复选框。这种点击触发并检查状态的方法可以吗

我想一定有一种更干净的jQuery方法。有人知道解决办法吗

绑定到更改事件,而不是单击。但是,您可能仍需要检查复选框是否已选中:

$(.checkbox”).change(函数(){
如果(选中此项){
//做事
}
});

绑定到更改事件而不是单击事件的主要好处是,并不是所有单击复选框都会导致其更改状态。如果您只想捕获导致复选框更改状态的事件,则需要在注释中编辑恰当命名的change事件。

还要注意,我使用了this.checked而不是将元素包装在jQuery对象中并使用jQuery方法,这仅仅是因为直接访问DOM元素的属性更短更快

编辑(见评论)

要获取所有复选框,您有两个选项。您可以使用:复选框伪选择器:

$(“:复选框”)

或者可以使用属性选择器:

$(“输入[type='checkbox']”)

发表评论