嗨,我想知道是否存在可以由其他代码而不是用户触发的复选框事件...
例如
对于“全选”复选框,它还应自动切换“选定”类以切换行的背景颜色。
我试过“改变”和“点击”,这只是由用户触发的。
我注释掉了一些代码......顺便说一句,我想要有很多复选框来切换某些类别的复选框,所以我想避免有很多“.closest('tr').addClass('selected');” 等等
嗨,我想知道是否存在可以由其他代码而不是用户触发的复选框事件...
例如
对于“全选”复选框,它还应自动切换“选定”类以切换行的背景颜色。
我试过“改变”和“点击”,这只是由用户触发的。
我注释掉了一些代码......顺便说一句,我想要有很多复选框来切换某些类别的复选框,所以我想避免有很多“.closest('tr').addClass('selected');” 等等
我不确定这是您需要的,但我认为<tr>
必须通过选中“全选”复选框将所有内容更改为选中。试试这个http://jsfiddle.net/DC3EH/5/
如果绑定到 change 事件,则可以在 jquery 中触发 click 事件,该事件将检查复选框并依次触发 change 事件:
$(document).ready(function(){
$('#check_all').click(function(event) {
$('[name^="checkbox"]').trigger("click");
});
$('[name^="checkbox"]').change(function(event) {
console.log('a');
if ($(this).is(":checked")) {
$(this).closest('tr').addClass('selected');
}
else {
$(this).closest('tr').removeClass('selected');
}
});
});
更新小提琴:http: //jsfiddle.net/DC3EH/19/
我切换到 change 事件而不是 click 事件的原因是 jquery 如何处理事件的触发。当您触发单击时,它将在更改复选框状态之前调用您的事件处理程序。绑定到更改可确保在状态更改之前不会调用您的事件。