3

奇怪的问题——我正在寻找一个示例,说明如何在我正在处理的 DataTables 项目中将“页面”事件付诸实践。

文档在这里 - http://datatables.net/docs/DataTables/1.9.4/#page。我只是无法将其转化为可使用的工作示例。

更具体地说,我正在尝试运行一个读取每一行的函数,如果其中任何一个具有特定的类(由用户交互创建),则将其删除——并在每个页面更改事件中发生这种情况。我已经编写了这个函数,如果我修改 API,它就可以工作,但如果我能以某种方式将它应用于上述页面事件,那将是理想的。

提前感谢您的帮助,任何信息都非常感谢!

此外,如果有帮助,我正在使用 Datatables 1.7.6!

4

3 回答 3

3

对表格进行分页时会触发 page 事件。

$(document).ready(function(){
    var tab = $('#example').dataTable();
    tab.on('page', function( e, o) {
        // Do something when you paginate the table
   } );
});

是什么阻碍了你?

于 2012-10-02T21:56:39.353 回答
2

我发现(从他们论坛上的 Datatables 的创建者那里),下面的代码有效:

$('#myTable').on('page', function () {...} );

它仅在您使用 1.8 或更高版本时才有效,并且就我的目的而言,它运行良好。

此外,如果您需要在每次表加载时运行一个函数,而不是页面事件,您可以使用 fnDrawCallback。我分享这个是因为我希望我在几天前就澄清了这个问题,因为它可以为我节省几个小时!

于 2012-10-03T13:22:21.657 回答
0

您可以使用它来获取触发事件,包括平滑滚动:

// Datatables scroll to top when next button is clicked
var oldStart = 0;
oTable = $('#table').dataTable({
    fnDrawCallback": function (o) {
        // This function scrolls the anchor point to the top when the user clicks next. also known as 'Go to Top'
        if ( o._iDisplayStart != oldStart ) {
            alert ("Next button click");
            var targetOffset = $('#table').offset().top;
            $('html,body').animate({scrollTop: targetOffset}, 1000);
            oldStart = o._iDisplayStart;
        }
    }
});
于 2015-06-27T13:35:00.603 回答