我快要失去理智了。我正在为一家大公司做一个项目,而不是他们的框架。他们严重依赖jQuery.datatables plugin并不是坏事,但在我看来,文档非常糟糕且令人困惑,源代码很难理解。
简短版本:我需要知道如何连接页面更改事件,因此我可以在发生时执行一些代码。
Long Version:我有一个json数组数组放在表中,这些项没有唯一标识符;所以,在将它发送到dataTable之前,我添加一个列id,该列id填充了数组中项目的索引并为其创建一个列。在我调用fnUpdate之后,我隐藏索引列并为每一行添加一个click事件,使用该列上的值来知道哪个json对象对应于该行。它不漂亮,但它可以工作,直到我改变页面;那个时候,仍然是隐藏的,但s又出现了。我需要找到如何挂钩页面更改事件,以便我可以再次隐藏它们,或者我需要一种更优雅的方式来做同样的诡计。
感谢您的时间
答案 0 :(得分:3)
您可以收听DataTable实例发出的“page”事件:http://datatables.net/docs/DataTables/1.9.1/DataTable.html#page
所以你会做类似的事情:
$(myTableInstance).bind('page', function () {
pagingFunction();
} );
答案 1 :(得分:2)
您可以使用fnDrawCallback或fnInfoCallback来检测更改。当点击下一个时,它们都会被触发。
但要注意,页面更改不是唯一可以触发这些回调的源。
或者您可以尝试这样的事情:
$('.dataTables_length select').live('change', function(){
alert(this.value);
});