提问者:小点点

fnPageChange不是函数


我在使用以下内容时遇到主题错误:

 $("#example1").DataTable().fnPageChange(localStorage.getItem('page'),true);

据我所知,它保存了用户点击的datatable的最后一页。如果用户点击了datatable的第3页,导航到另一页,然后返回到datatable,那么它仍然在datatable的第3页上。

而且起作用了。将保存datatable的最后一页。

唯一的问题是,即使上面的工作,我正在控制台中得到以下错误:

Uncaught TypeError: $(...).DataTable(...).fnPageChange is not a function

我不知道为什么。

以下是我拥有的其他datatable设置:

"iDisplayLength": 50,
"order": [[ 1, "desc" ]],
"paging": true,
"scrollY": 300,
"scrollX": true,
"bDestroy": true,
"stateSave": true,
"sPaginationType":"full_numbers",
"autoWidth": false,
"deferRender": true,
"dom": 'Bfrtip',

为什么我会出现上面的控制台错误,如何修复它?


共1个答案

匿名用户

您使用的“statesave”:true选项允许用户在完全离开网页后返回DataTable的第3页,然后返回。

它还保存筛选器和排序选择。

如果您希望手动执行某项操作,而“stateSave”:true不为您处理该操作,那么您可以使用DataTables页面更改事件。文档给出了一个示例:

$('#example').on( 'page.dt', function () {
    var info = table.page.info();
    $('#pageInfo').html( 'Showing page: '+info.page+' of '+info.pages );
} );

否则,您可以删除抛出错误的行--并且状态保存不应受到影响。

关于fnpagechange-这是一个旧的插件,已从数据表中删除-您可以在这里看到关于它的注释。