jQuery DataTable分页刷新

时间:2015-10-11 21:54:16

标签: javascript jquery ajax datatable pagination

我在表格中使用DataTable进行分页。通过发出ajax请求来加载表中的内容。问题是我使用自己的函数来填充表格数据(换句话说,我手动操作表格的DOM)。那么有没有办法重新加载分页?我尝试过阅读API,但我找到的只是ajax API,因为我想自己操作数据,所以它不适合我的代码。
在此先感谢,希望问题很明确。

2 个答案:

答案 0 :(得分:0)

我找到了答案。正如我发现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 :(得分:0)

1° - 创建一个函数来删除你的数据表

 function destroyDataTable(tableId){

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

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

        }
}

2° - 创建一个函数来创建一个新的数据表

 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