Aquicksolutionforcheckboxjquery.datatablecoexistence,allabnormal
{问题的原因}这应该是在jquery.datatable控制本身的缺陷,该复选框插件ID控制是写死的,所以当有多个数据表引用到一个页面,选择事件将匹配所有的数据表,它造成的所有复选框选择多个表。
{解}
因此,最好是修改jquery.datatable控制和分配不同的ID在每个DataTable生成复选框,因为数据表的ID是不同的,所以我可以作为一个前缀的复选框以形成一个单一的ID。具体到这个复选框的呼叫事件也需要同步更换成新的ID事件的调用。
{修改文件}
Jqurey.datatable.ext.js(v0.0.1)
1。init方法修改:
复制代码代码如下所示:
$(#+选项。select_table)。发现('thead Tr日:第一个孩子)
prepend();
= = >
$(#+选项。select_table)。发现('thead Tr日:第一个孩子)
prepend();
2.subscribeallchk方法的改进:
复制代码代码如下所示:
$(# chk_all)。Click(function(){)
= = >
$(#+美元。FN。datatable_ext。默认值。select_table +_chk_all。单击(功能){()
3.subscribechk方法的改进:
复制代码代码如下所示:
如果(checked_chk_num = = curr_page_chk_num){
$(# chk_all)。Attr('checked ','checked);
其他{ }
$(# chk_all )RemoveAttr('checked);
}
= = >
如果(checked_chk_num = = curr_page_chk_num){
$(#+美元。FN。datatable_ext。默认值。select_table +_chk_all)。Attr('checked ','checked);
其他{ }
$(#+美元。FN。datatable_ext。默认值。select_table +_chk_all。RemoveAttr('checked '));
}