将更改事件绑定到每个DataTables行中的复选框

Mr.*_*ond 5 checkbox jquery events datatables

我为中的每一行添加了一个复选框DataTables。加载表数据后,我将更改事件绑定到每个复选框,如下所示:

fnInitComplete: function(oSettings, json) {

      $("input[type='checkbox']").on("change", function() {

            // checking if any checkbox is checked

      });
}
Run Code Online (Sandbox Code Playgroud)

问题是更改事件仅添加到第一页。如果我导航到其他页面并单击任何复选框,则不会触发任何事件。仅当刷新页面时它才有效。与相同Show entries。解决这个问题的聪明方法是什么?

表数据

Seb*_*anb 7

尝试使用委托事件:

$("#table_id").on('change',"input[type='checkbox']",function(e){
    //your code 
});
Run Code Online (Sandbox Code Playgroud)

这告诉表在源于input[type='checkbox']其后代的'change'事件发生时运行指定的函数。

您无需在表初始化中注册该处理程序,只需在文档准备好后就可以进行注册。

有关委托事件的更多信息