我为DataTables
中的每一行添加了一个复选框。加载表数据时,我将change事件绑定到每个复选框,如下所示:
fnInitComplete: function(oSettings, json) {
$("input[type='checkbox']").on("change", function() {
// checking if any checkbox is checked
});
}
问题是只为第一页添加了更改事件。如果我导航到其他页面并单击任何复选框,则不会触发任何事件。它仅在我刷新页面时才有效。与Show entries
相同。什么是处理这个问题的聪明方法?
答案 0 :(得分:4)
尝试使用委托事件:
$("#table_id").on('change',"input[type='checkbox']",function(e){
//your code
});
当一个'change'事件来自作为其后代的input[type='checkbox']
时,这告诉表运行指定的函数。
您不需要在表初始化中注册此处理程序,您可以在文档准备好之后再执行此操作。
答案 1 :(得分:1)
您可以将代码放在.on( 'page.dt', function () { // do something})
检查the link以获取有关此内容的更多说明,或者您可以使用以下代码放置此事件。
$(function(){$("input[type='checkbox']").on("change", function() {
// checking if any checkbox is checked
});})