我希望事件在选中/取消选中复选框时激发客户端:
$('.checkbox').click(function() {
if ($(this).is(':checked')) {
// Do stuff
}
});
基本上,我希望页面上的每个复选框都出现这种情况.这种按一下就开火并判断状态的方法可以吗?
我想一定有一种更干净的jQuery方式.有人知道解决办法吗?
我希望事件在选中/取消选中复选框时激发客户端:
$('.checkbox').click(function() {
if ($(this).is(':checked')) {
// Do stuff
}
});
基本上,我希望页面上的每个复选框都出现这种情况.这种按一下就开火并判断状态的方法可以吗?
我想一定有一种更干净的jQuery方式.有人知道解决办法吗?
绑定到change
事件而不是click
.但是,您可能仍需要判断复选框是否已选中:
$(".checkbox").change(function() {
if(this.checked) {
//Do stuff
}
});
绑定到change
事件而不是click
事件的主要好处是,并不是所有点击复选框都会导致它改变状态.如果您只想捕获导致复选框更改状态的事件,那么您需要恰当命名的change
事件罢工>Redacted in comments
还要注意,我使用了this.checked
,而不是将元素包装在jQuery对象中并使用jQuery方法,原因很简单,因为直接访问DOM元素的属性更短、更快.
Edit(见 comments )
要获取所有复选框,您有两个选项.您可以使用:checkbox
伪 Select 器:
$(":checkbox")
或者您可以使用attribute equals Select 器:
$("input[type='checkbox']")