在使用Jquery dataTable插件的时候,有一个速度字段需要定时刷新。我通过异步的方式从数据库中定时获取到了数据。现在想要只刷新这个速度字段,因为其他的字段都是不会改变的。我尝试用dataTable().fnReloadAjax()。查看源码,里面有清空datatable和重画的代码,也就是说还是全部数据的刷新。
想问下有没有什么办法,可以只渲染固定的一列数据,其他数据都保持不动的状态。
在使用Jquery dataTable插件的时候,有一个速度字段需要定时刷新。我通过异步的方式从数据库中定时获取到了数据。现在想要只刷新这个速度字段,因为其他的字段都是不会改变的。我尝试用dataTable().fnReloadAjax()。查看源码,里面有清空datatable和重画的代码,也就是说还是全部数据的刷新。
想问下有没有什么办法,可以只渲染固定的一列数据,其他数据都保持不动的状态。
使用 jQuery DataTables 插件时,可以通过在 ajax 回调函数中对每一行进行更新来实现只更新特定列。
首先,在 ajax 回调函数中获取新数据,然后使用 $.each() 方法遍历每一行。对于每一行,可以使用 jQuery 的 .find() 方法来找到要更新的单元格,然后更新其中的值。
例如,假设你要更新的列为第 2 列,可以使用以下代码:
$.each(newData, function(index, value) {
var row = $('#your_table').DataTable().row(index);
var cell = row.cell(2);
cell.data(value);
});
在这个例子中,newData 是从服务器获取到的新数据,index 是表格中每一行的索引,value 是新数据中每一行对应的值。通过遍历每一行,找到要更新的单元格,更新其中的值即可。
注意: 这种方法不会改变表格的排序和分页状态,但是需要重绘。