簡體   English   中英

在jQuery Datatable中對列進行排序后保存最后頁碼

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM