即使更改了每行的数据,jQuery dataTables也不会更新
我有一个使用JQUERY datatable插件的表。表的第一列实际上是使用columndef选项中的render选项绑定的序列号,我的表初始化如下所示即使更改了每行的数据,jQuery dataTables也不会更新,jquery,datatables,Jquery,Datatables,我有一个使用JQUERY datatable插件的表。表的第一列实际上是使用columndef选项中的render选项绑定的序列号,我的表初始化如下所示 var myTable = $("#table_question").dataTable( { "columnDefs": [ { "targets": 0, "render": function (data, type, row,meta) { return Str
var myTable = $("#table_question").dataTable(
{
"columnDefs": [
{ "targets": 0, "render":
function (data, type, row,meta) { return String.format("<h4>{0}</h4>",row[4] ) } },
{ "targets": [3, 4], "visible": false}],
"lengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
});
在这里,datatable数据发生了变化(我认为),但它不会反映在表上编辑数组后,您忘记了设置行数据:
this.data(row.draw();
this.data()
您的代码正在运行->我可以这样解决这个问题
this.data().fieldYouWantToModify = newValue;
this.invalidate().draw();
由于不更改单元格的渲染方式,因此不需要重新渲染
我找到了解决方案当您刷新页面时,它是否会反映?我的意思是如果涉及任何服务器端处理?非常感谢。。它工作得很好。。但有一点关于rowIdx的澄清。实际上,我上面代码的目的是在行删除时重置第一列上的序列号。因此,在您的JSFIDLE代码中,我用rowIdx替换了7,这很好。但在我的本地代码中,当我尝试使用rowIdx时,它返回一个错误“DataTables警告:table id=table_问题-请求的第0行未知参数“4”。有关此错误的详细信息,请参阅“我尝试的代码是第[0]行]=rowIdx;很抱歉我发现了窃听器。我使用的插件版本是1.10.6。我更新到1.10.9,它修复了这个错误。我认为每个函数中的参数在以前的函数中都不可用version@sforsandeep,我想你是对的。太好了,你成功了!
var table = $('#table_question').DataTable();
table.rows().every(function (rowIdx, tableLoop, rowLoop) {
var row = this.data();
row[0]=7
row[4]=7;
});
table.draw(true);
this.data().fieldYouWantToModify = newValue;
this.invalidate().draw();