如何从 jQuery dataTables 中获取分页信息

Posted

技术标签:

【中文标题】如何从 jQuery dataTables 中获取分页信息【英文标题】:How to get paging information from jQuery dataTables 【发布时间】:2015-12-23 11:13:54 【问题描述】:

如何从jQuery DataTables 中的分页信息Showing 240 to 245 of 744 entries 中获取240245 这两个值?

截图

我的代码:

ajax: function (data, callback, settings) 
    var out = [];
    filterModel.Take = THERE_MUST_BE_FIRST_VALUE
    filterModel.Skip = THERE_MUST_BE_SECOND_VALUE
    var promise = filterService.getElectricityData(filterModel);
    promise.then(function(data) 
        for (var i = 0; i < data.length; i++) 
            var model = [];
            for (var j = 0; j < data[i].length; j++) 
                model.push(data[i][j]);
            
            out.push(model);
        

【问题讨论】:

【参考方案1】:

使用page.info() 获取有关表的分页信息。

"ajax": function (data, callback, settings) 
   var api = new $.fn.dataTable.Api(settings);
   var info = api.page.info();

   filterModel.Take = info.start + 1;
   filterModel.Skip = info.end;

   // ... skipped ...

【讨论】:

【参考方案2】:

您可以通过不同的方式访问

$.fn.dataTable.settings

// 240
var start = $.fn.dataTable.settings[0]._iDisplayStart;
// 5
var size  = $.fn.dataTable.settings[0]._iDisplayLength;
// 245
var end   = start + size;

jQuery 选择器$("datatableId_info").text()

/Showing (\d+) to (\d+) of (\d+) entries/.exec("Showing 241 to 245 of 744 entries");
Array [ "Showing 11 to 20 of 57 entries", "11", "20", "57" ]

【讨论】:

@Sergey Volkov Gyrocode.com 解决方案符合您的要求

以上是关于如何从 jQuery dataTables 中获取分页信息的主要内容,如果未能解决你的问题,请参考以下文章

jquery datatable - 如何使用渲染函数从另一列获取数据

如何使用 jQuery DataTables 从所有页面提交复选框

第 1 页后无法从 jquery DataTable 表行中获取属性值

jQuery DataTables TableTools Export - 获取复选框或单选项目的值

如何从dataTable行集合中获取复选框输入值?

jQuery DataTables iDisplayLength 不起作用。我该如何解决?