簡體   English   中英

jQuery DataTable 分頁刷新

[英]jQuery DataTable pagination refresh

我在我的表格中使用DataTable進行分頁。 表中的內容是通過 ajax 請求加載的。 問題是我正在使用我自己的函數來填充數據表(換句話說,我手動操作表的 DOM)。 那么有沒有辦法重新加載分頁? 我試過閱讀API,但我發現的只是ajax API,它不適合我的代碼,因為我想自己操作數據。
提前致謝,希望問題很清楚。

我找到了答案。 正如我發現 DataTable 在調用第一個DataTable()並在內部保存它時解析表。 所以我必須在我的 ajax 請求之前清除這些數據:

var table = $('#mytable').DataTable();
table.clear();

然后我添加數據並循環繪制:

for(var k in data) {
    // do smth with data
    table.row.add([
        k.field1,
        k.field2
        // ...
    ]).draw();
}

1° - 創建一個函數來刪除你的數據表

 function destroyDataTable(tableId){

  if ( $.fn.dataTable.isDataTable( tableId ) == true){ // verify if DataTable exists

        $(tableId).DataTable().destroy();

        }
}

2° - 創建一個函數來創建一個新的 DataTable

 function createDataTable(tableId){

   // create only if DataTableDoes not exists
  if ( $.fn.dataTable.isDataTable( tableId ) == false) { 

     $(tableId).DataTable( { /* your DataTable configuration */ } ); 
}}

3° - 在你的代碼中

destroyDataTable('#myTable'); //Destroy old dataTable with the old data

/* call your function to populate your table with the new data */

createDataTable('#myTable'); // recreate the DataTable for the new data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM