首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将排序后的最后一个页码保存在Jquery Datatable中

将排序后的最后一个页码保存在Jquery Datatable中
EN

Stack Overflow用户
提问于 2017-03-25 23:10:15
回答 1查看 949关注 0票数 0

我使用jquery datatable来显示数据。我自定义了分页功能。例如,每页有10条记录。首先,我的函数接受10条记录。如果用户单击“下一步”按钮,则我的函数将获取10个以上的记录。如果用户点击“上一页”按钮,然后我的函数保存最后一页。因为如果用户单击“下一步”按钮,则不会再次拉取相同的记录。将显示现有记录。因此,不会出现相同的记录。但是如果用户从来没有点击过后退按钮。例如,在第3页,如果用户排序列,然后表格显示第一页,而没有保存最后一页的页码。这样,如果用户单击next按钮,之后将再次获取相同记录。同样的记录也会显示在表格上。所以在对列进行排序后,我必须在jquery表中保存最后一个页码。我搜索了这个问题以找到解决方案。我找到的解决方案仅如下所示:

代码语言:javascript
复制
$('#example').dataTable( {
  stateSave: true
} );

如何在列排序后保存最后一个页码(因为显示首页)。如何将最后一个页码存储在变量中,以便在从服务器获取数据时使用。

EN

回答 1

Stack Overflow用户

发布于 2017-03-26 09:59:43

下面的示例将当前页和以前的页码添加到发送到服务器的请求参数中。

代码语言:javascript
复制
$(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,您可以访问您添加的新请求参数,如下所示:

代码语言:javascript
复制
<?php

$currentPage = $_POST['currentPage'];
$previousPage = $_POST['previousPage'];

?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43018020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档