我在两张桌子之间移动一些行。我有一个动态列,根据其他一些字段值(选择)假定一个不同的值。这是我的代码示例:
var clickedRow = queueTable.row($(elm))
var extraCols = [
12
];
$.merge(clickedRow.data(), extraCols);
$(secondTable.row.add(clickedRow.data()).draw().node())
clickedRow.remove().draw();
问题是第一次移动了行之后,如果我再次移动它来更改动态列值(例如更改为13),旧值仍然会缓存,即使我从console.log看到的内容(clickedRow) .data())该对象包含新的刷新值。如何刷新缓存(如果它是缓存问题)?我尝试使用* .draw()重绘两个表,但它没有解决。
答案 0 :(得分:1)
你有一些特点,但很难知道你为什么这么做而没有完整的代码。我只是"移动"或复制内容:
$('#queueTable').on('click', 'tbody tr', function() {
var clickedRowData = queueTable.row(this).data();
queueTable.row(this).remove().draw();
clickedRowData.push('42');
secondTable.row.add(clickedRowData).draw();
})
<强> http://jsfiddle.net/uh3t80oL/ 强>
NB :push()
应该用于简单数组。您可以使用push('42', 'qwerty', new Date())
等添加多个值。