2015-09-25 71 views
-4

如何從jQuery DataTables中的分頁信息Showing 240 to 245 of 744 entries獲取這兩個值:240245如何從jQuery數據表中獲取分頁信息

截圖

我的代碼:

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

您可以通過不同的方式

$.fn.dataTable.settings

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

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" ] 
+0

http://content.screencast.com/users/truefunrun/folders/Jing/media/14a4c713-a6e5-4b21-9bdf-e7b34d3b5b98/2015-09-25_1836.png 野應:( 取420 跳過366 一個數字應該是五個 而這裏420 - 366 = 54 –

+0

@Sergey Volkov Gyrocode.com解決方案符合您的要求 – Valijon

0

使用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 ... 
}