2

我快要失去理智了。我正在为一家大公司开发一个项目,通过他们的框架。他们严重依赖jQuery.datatables 插件,这不是一件坏事,但在我看来,文档很差而且很混乱,而且源代码很难理解。

简短版本:我需要知道如何与页面更改事件挂钩,以便在它发生时执行一些代码。

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

感谢您的时间

4

2 回答 2

3

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

所以你会做这样的事情:

$(myTableInstance).bind('page', function () {
   pagingFunction();
} );
于 2012-05-09T15:06:24.463 回答
2

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

但请注意,页面更改并不是触发这些回调的唯一来源。

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

$('.dataTables_length select').live('change', function(){
   alert(this.value);
});
于 2012-05-09T13:39:02.450 回答