【问题标题】:jQuery dataTables page infojQuery dataTables 页面信息
【发布时间】:2015-09-05 06:17:53
【问题描述】:

参考:http://datatables.net/reference/api/page.info()

我正在尝试获取 ajax POST 生成的 jQuery DataTable 的当前分页信息。

使用提供的函数 .page.info(),它返回的页面和页面全为零,即使表格有多个页面。

我的目标是在“简单”分页类型旁边提供分页信息,

[总页数][]的[当前页码]页

这是结果输出:

Object {
    end: 0
    length: 10
    page: 0
    pages: 0
    recordsDisplay: 0
    recordsTotal: 0
    start: 0
}

这是 jQuery DataTable 代码:

var oSegmentsDatatable = $('table#segments-datatable').DataTable({
    ajax: {
        type: "POST",
        url: urlSegmentsDatatable,
        data: {'advertiser_id':<?=$advertiser_id?>},
        error: function (jqXHR, textStatus, errorThrown) {

        }
    sDom: 'p<"H"f>t<"F"lr>',
    bProcessing: false,
    bServerSide: true,
    responsive: true,
    bFilter:  true,
    sPaginationType: "simple",
    aaSorting: [[8,'desc']],
    bAutoWidth: false,
    aoColumns : [
        { 'sWidth': '25%' }, // 0
        { 'sWidth': '3%' }, // 1
        { 'sWidth': '3%' }, // 2
        { 'sWidth': '3%' }, // 3
        { 'sWidth': '3%' }, // 4
        { 'sWidth': '5%' }, // 5
        { 'sWidth': '5%' }, // 6
        { 'sWidth': '5%' }, // 7
        { 'sWidth': '10%' } // 8
    ],

    columnDefs: [{
        targets: "no-sort",
        orderable: false
    }]
});

var info = oSegmentsDatatable.page.info();
console.log(info);

【问题讨论】:

    标签: datatables


    【解决方案1】:

    经典的 javascript 异步问题。你的

    var info = oSegmentsDatatable.page.info();
    

    在 AJAX 完成其业务之前执行。你最好在 drawCallback 回调中这样做:

    function processInfo(info) {
        console.log(info);
        //do your stuff here
    }    
    
    var table = $('#example').DataTable({
       //other initialisation options
       drawCallback : function() {
           processInfo(this.api().page.info());
       }
    });
    

    您也可以挂钩page.dt 事件,但是您必须在第一次初始化时做一些事情。 page.dt 仅在用户单击新页面或以编程方式更改页面时触发。

    【讨论】:

      猜你喜欢
      • 2015-12-23
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      相关资源
      最近更新 更多