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。希望对你有帮助。
我在控制台应用程序中使用 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。希望对你有帮助。