如何刷新DataTables排序和过滤信息
为了简化示例,我有一个DataTable,我从HTML加载。
此DataTable通过jQuery更新其内容的一部分但是在表中可见时更新的内容在排序或过滤时不反映。
请参阅下面的HTML代码
First name Last name Votes Location John Doe 50 London Hill Vaught 120 Berlin Charles Roy 78 Liege
和JavaScript
$(document).ready(function() { var dt = $('#example').DataTable({}); $("#entry2_votes").text(60); });
因此,如果您尝试排序Votes列或尝试通过jQuery设置的新值60进行过滤,它将无法正常工作
请参阅此工作示例https://jsfiddle.net/bpali/d97bpqvs/3/
显然,我的问题是如何使其工作,因为在我的现实生活中,我必须不断地通过不同页面部分的不同Ajax请求更新DataTable的部分,我不能只是在表上放置一个ajax源并重新加载表。
这是正确的方法:
$(document).ready(function() { var dt = $('#example').DataTable({}); dt.cell( $("#entry2_votes") ).data(60) ; });
First name Last name Votes Location John Doe 50 London Hill Vaught 120 Berlin Charles Roy 78 Liege
查看在线演示
使用jquery更新后必须重新初始化数据表,或者可以通过数据表内置方法/ api进行更新
$('#example').DataTable().destroy(); $('#example').DataTable().draw();