[英]Save The Last Page Number After Sorting Column In Jquery Datatable
我正在使用jquery数据表显示数据。 我自定义分页功能。 例如,每个页面有10条记录。 首先,我的功能记录了10条记录。 如果用户单击下一步按钮,那么我的函数将记录10条以上。 如果用户单击“上一页”按钮,然后我的功能保存最后一页。 因为如果用户单击“下一步”按钮,则不会再次提取相同的记录。 显示现有记录。 因此,不会发生相同的记录。 但是,如果用户从未单击后退按钮。 例如在第3页上,如果用户对列进行排序,然后表格显示首页而没有保存最后一页号。 这样,如果用户单击“下一步”按钮,则该记录将被再次获取一次。 相同的记录将显示在表上。 这样我就必须在对jquery表排序coloumn之后保存最后一页的编号。 我搜索了此问题以找到解决方案。 我发现解决方案仅如下所示:
$('#example').dataTable( {
stateSave: true
} );
排序排序后(由于显示首页),如何保存最后一页的编号。 当我从服务器获取数据时,如何将最后的页码存储在变量上以供使用。
以下示例将当前页和上一个页码添加到发送到服务器的请求参数中。
$(document).ready(function() {
//vars
var previousPage = null;
// DataTable
var table = $('#example').DataTable( {
"serverSide": true,
"ajax": {
"url": "yourAjaxDataSource.url",
"type": "POST",
"data": function ( dtData ) {
var info = $('#example').DataTable().page.info();
var currentPage = info.page + 1;
var customData = $.extend( {}, dtData, {
"currentPage": currentPage,
"previousPage ": previousPage
} );
return customData;
}
},
"columns": [
{//1st Column:
"data": "foo" },
{//2nd Column:
"data": "bar" }
],
//this will always be called after the table is drawn
"drawCallback": function( settings ) {
var info = $('#example').DataTable().page.info();
previousPage = info.page + 1;
}
} );
} );
在服务器端,如果您使用的是PHP,则可以访问添加的新请求参数,如下所示:
<?php
$currentPage = $_POST['currentPage'];
$previousPage = $_POST['previousPage'];
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.