[英]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.