jQuery DataTables - 添加行重置分页和过滤

jQuery DataTables - adding rows resets pagination and filtering

我在控制台应用程序中使用 jQuery DataTables。

以下代码向 DataTable 添加一行:

$('#datatable-table').dataTable().fnAddData([
    '<h1>test</h1>',
    'test',
    'test',
    'test',
    'test',
    'test',
    'test',
    'test',
    'test',
    'test',
    'test'
]);

问题是,当您以编程方式添加一行时,它会重置用户的分页和筛选。因此,如果用户在第 3 页,当我更新 table 时,他将返回到第 1 页。考虑到我经常需要 add/remove/update 行,这对我来说真的不起作用。

有什么建议吗?

jQuery DataTables 的 1.10 版有一个 page() 方法,允许您获取或设置 table.

的当前页面

例如:

    var table = $('#myTable').DataTable();

    $('#btn').click(function() {
       table.row.add( [
           'new 1',
           'new 2'
        ]);

        var currentPage = table.page();  
        table.page(currentPage).draw(false);        
    });

添加新行后,代码获取当前页,然后在重新绘制时将table设置为该页。

jsfiddle 演示 here。希望对你有帮助。