繁体   English   中英

数据表发送当前页码

[英]Datatable send current page number

我一直在尝试通过覆盖一个名为pgno的变量将当前页码发送到服务器

这是我的代码:

function fill_datatable(status='',pgno='') 
{
    var pgno = 0;
    table = $('.tb_scoin_available').DataTable({
        "processing": true,
        "serverSide": true,
        "ordering"  : false,
        "infoCallback": function( settings, start, end, max, total, pre ) {
            var api = this.api();
            var pageInfo = api.page.info();
            pgno = pageInfo.page+1;
            return pgno;
        },
        "ajax":{
            "url": base_url+'/adminPath/management_scoin/ajaxGetScoinAvailable',
            "type": "POST",
            "data":{ _token: csrf_token, status : status,pgno : pgno}
        },
        "columnDefs": [ { orderable: false} ],
        "columns": [
            { "data": "no" },
            { "data": "created_at" },
            { "data": "serial_scoin" },
            { "data": "unit_scoin" },
            { "data": "unit_scoin_desc" },
            { "data": "unit_scoin_sc" },
            { "data": "unit_scoin_idr" },
        ],

    }); 
}

当我尝试在 infoCallback 上发出警报时: alert(pgno)变量已经被覆盖,但是当我尝试在后端转储请求时, pgno POST 给我 null 结果如下:

截屏

任何人都可以帮助我吗?

您可以使用 page() function 获取表格页面,不需要整个“page.info”。 在 Datatable 的 API 中有更好的解释: https://datatables.net/reference/api/page()

您尝试访问的方法只是获取信息,而不是设置信息。 这可能就是它不起作用的原因。 查看他们的文档以更好地了解他们的 API: https://datatables.net/reference/api/page.info()

编辑:

您可以通过简单的计算得到当前页面。 由于您使用的是服务器端处理,因此您已经有了startlength 您只需要执行 start/length + 1 即可获得当前页码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM