jQuery DataTables插件 - 发生页面更改的位置

时间:2012-05-09 13:35:40

标签: jquery jquery-plugins

我快要失去理智了。我正在为一家大公司做一个项目,而不是他们的框架。他们严重依赖jQuery.datatables plugin并不是坏事,但在我看来,文档非常糟糕且令人困惑,源代码很难理解。

简短版本:我需要知道如何连接页面更改事件,因此我可以在发生时执行一些代码。

Long Version:我有一个json数组数组放在表中,这些项没有唯一标识符;所以,在将它发送到dataTable之前,我添加一个列id,该列id填充了数组中项目的索引并为其创建一个列。在我调用fnUpdate之后,我隐藏索引列并为每一行添加一个click事件,使用该列上的值来知道哪个json对象对应于该行。它不漂亮,但它可以工作,直到我改变页面;那个时候,仍然是隐藏的,但s又出现了。我需要找到如何挂钩页面更改事件,以便我可以再次隐藏它们,或者我需要一种更优雅的方式来做同样的诡计。

感谢您的时间

2 个答案:

答案 0 :(得分:3)

您可以收听DataTable实例发出的“page”事件:http://datatables.net/docs/DataTables/1.9.1/DataTable.html#page

所以你会做类似的事情:

$(myTableInstance).bind('page', function () {
   pagingFunction();
} );

答案 1 :(得分:2)

您可以使用fnDrawCallbackfnInfoCallback来检测更改。当点击下一个时,它们都会被触发。

但要注意,页面更改不是唯一可以触发这些回调的源。

或者您可以尝试这样的事情:

$('.dataTables_length select').live('change', function(){
   alert(this.value);
});