我想每秒重新安排一次表的顺序。 但是......我不知道。 默认设置如下。
$(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 );});
你知道怎么解决吗?
答案 0 :(得分:1)
所以你想要的是每秒重绘表...(你确定吗?这个用途非常重要 - 当数据发生变化时重绘得更好...但那是另一篇文章......)
你几乎就在那里 - 只是错过了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 );
});
<强>更新强>
根据更改数据的人员以及方式,您可能必须在重绘之前使dataTable的缓存无效;我已更新上面的代码段。
请注意,如果您的其他脚本直接更改DOM表中的数据,并且您通过JSON加载数据,则可能必须强制DataTables在您失效时使用DOM作为数据源:
myTable.rows().invalidate('dom').draw();
(请参阅invalidate上的文档)
希望它有所帮助!
答案 1 :(得分:0)
请测试一下:
$(document).ready( function () {
function refreshTable() {
$('#dataTables-example').DataTable({
responsive: true,
"paging": false,
"info": false,
"searching" : false,
"order": [[ 1, "desc" ]]
});}
setInterval(refreshTable , 1000 );});