DataTables draw()不会改变显示

时间:2017-02-21 19:42:07

标签: javascript draw datatables-1.10

我坚持使用[应该]非常简单的东西:修改单元格的内容后,我无法使用draw()显示更改。

这是一个基本示例,显示更改前后的DataTable().data(),而显示的表格保持不变。

$('table').DataTable({
  data: [
  {a: 'A1', b: 'B1'},
  {a: 'A2', b: 'B2'}
  ],
  columns: [
    {data: 'a', title: 'A'},
    {data: 'b', title: 'B'}
  ]
});
var dt = $('table').DataTable();
  console.log('before:', dt.data()[0]);
$('button').click(function() {
  dt.row(0).data().a = 'XXX';
  dt.draw();
  console.log('after:', dt.data()[0]);
});

很抱歉,无法使用SO片段执行该操作,在超时之前会触发很多安全错误。
但是你可以看到它在this fiddle中工作。

注意:我也尝试在invalidate()之前插入draw(),但没有成功。

1 个答案:

答案 0 :(得分:0)

更新自定义单元格(DOC): https://jsfiddle.net/hdadLhmo/2/

$('table').DataTable({
  data: [
  {a: 'A1', b: 'B1'},
  {a: 'A2', b: 'B2'}
  ],
  columns: [
    {data: 'a', title: 'A'},
    {data: 'b', title: 'B'}
  ]
});
var dt = $('table').DataTable();
  console.log('before:', dt.data()[0]);
$('button').click(function() {
  dt.row(0).data().a = 'XXX';
  dt.draw();
  console.log('after:', dt.data()[0], dt.cell(0, 0).data('XXX'));
});