Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使更改了每行的数据,jQuery dataTables也不会更新_Jquery_Datatables - Fatal编程技术网

即使更改了每行的数据,jQuery dataTables也不会更新

即使更改了每行的数据,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

我有一个使用JQUERY datatable插件的表。表的第一列实际上是使用columndef选项中的render选项绑定的序列号,我的表初始化如下所示

      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();