我想每隔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的文档)

希望它有帮助!

+0

我很抱歉...不起作用... –

+0

没有错误...但没有按新数据排序。 –

+0

那么你改变表格数据?那些其他脚本究竟在干什么? – MacPrawn

请测试:你想要的是重绘表每秒那么

$(document).ready(function() { 
function refreshTable() { 
    $('#dataTables-example').DataTable({ 
    responsive: true, 
     "paging": false, 
     "info":  false, 
     "searching" : false, 
     "order": [[ 1, "desc" ]] 
});} 
setInterval(refreshTable , 1000);}); 
+0

嗨~~~感谢您的努力......但以下错误。 “DataTables warning:table id = dataTables-example - 无法重新初始化dataTable。有关此错误的更多信息,请参阅http://datatables.ent/tn/3” –

+0

我不知道您有问题使用DataTable。我认为问题是关于重复这个过程,并提到了使用'setInterval'的真正方法。如果你测试这个简单的代码:'var abc = alert(“Hi”); setInterval(abc,1000);''你会看到'setInterval'不能用这种方式工作 –