我想每隔1秒用DataTables重新加载表数据
我想重新排列表的顺序每秒一次。 但是...我不知道。 默认设置如下。我想每隔1秒用DataTables重新加载表数据
$(document).ready(function() {
$('#dataTables-example').DataTable({
responsive: true,
"paging": false,
"info": false,
"searching" : false,
"order": [[ 1, "desc" ]]
});
});
在这种状态下,我该如何简单地修改表的顺序,使其继续周期性地重新排序?表中的值由其他JavaScript处理。这就是为什么我只想用相同的方法重新排序每秒。
所以,我这样做了。但那不起作用。
$(document).ready(function() {
var refreshTable = $('#dataTables-example').DataTable({
responsive: true,
"paging": false,
"info": false,
"searching" : false,
"order": [[ 1, "desc" ]]
});
setInterval(refreshTable , 1000);});
你知道如何解决吗?
...(你确定那是相当沉重的使用 - 更好重绘数据的变化只是什么时候? ......但是,这是另一篇文章...)
就快 - 只是缺少一个simple little API call:
$(document).ready(function() {
var myTable = $('#dataTables-example').DataTable({
responsive: true,
"paging": false,
"info": false,
"searching" : false,
"order": [[ 1, "desc" ]]
});
setInterval(function() {
myTable.rows().invalidate().draw();
}, 1000);
});
更新
根据谁更改数据以及如何更改数据表的缓存,然后重绘;我已经更新了上面的代码片段。
注意,如果其他脚本直接改变数据在DOM表,并且您加载通过JSON数据,你可能必须强制数据表使用DOM作为数据源,当你作废:
myTable.rows().invalidate('dom').draw();
(参见invalidate的文档)
希望它有帮助!
请测试:你想要的是重绘表每秒那么
$(document).ready(function() {
function refreshTable() {
$('#dataTables-example').DataTable({
responsive: true,
"paging": false,
"info": false,
"searching" : false,
"order": [[ 1, "desc" ]]
});}
setInterval(refreshTable , 1000);});
嗨~~~感谢您的努力......但以下错误。 “DataTables warning:table id = dataTables-example - 无法重新初始化dataTable。有关此错误的更多信息,请参阅http://datatables.ent/tn/3” –
我不知道您有问题使用DataTable。我认为问题是关于重复这个过程,并提到了使用'setInterval'的真正方法。如果你测试这个简单的代码:'var abc = alert(“Hi”); setInterval(abc,1000);''你会看到'setInterval'不能用这种方式工作 –
我很抱歉...不起作用... –
没有错误...但没有按新数据排序。 –
那么你改变表格数据?那些其他脚本究竟在干什么? – MacPrawn