免责声明:这有点令人难以置信,这是一个漫长的夜晚,我不是母语人士 - 所以请。原谅如果描述不清楚。 PLS。只是评论,我会试着澄清:)
我正在尝试使Datatables表可编辑,到目前为止它看起来非常好。但是当我详细查看结果时我得到了一个惊喜,结果证明我克隆一行的小函数也修改了原来的行!
对于一个复制品,请。看看我保存的@ http://mbaas.de/edperm.html页面。打开控制台,点击“speichern”-Button:这只会将数据记录到控制台。 (只是为了确保价值符合我们的预期)。现在点击最后一行“7”左边的小图标:这应该克隆那行(JS-Function cloneRow
我将在稍后展示)并观察控制台输出:check “cloneRow!”之后立即打印的数组 - 正如您在代码中看到的那样,没有采取任何措施来更新数据,但数据[3] [0]已经改变了!并且,BTW,line3应该完全不受此更新的影响 - 我想读取该行,更改ID并附加它。
所以,这是cloneRow的代码:
function cloneRow(arg)
{
var oTable = $("#tabPerm").DataTable();
console.log('cloneRow!');
var d1a = oTable.data();
console.log(d1a);
arg=$(arg).closest('tr');
var d = oTable.row(arg).data();
console.log("Vor Zuweisung d");
var d2a = oTable.data();
console.log(d2a);
d[0]=-7;
console.log("Nach Zuweisung d");
var d3a = oTable.data();
console.log(d3a);
oTable.row.add(d).draw();
var d4a = oTable.data();
console.log(d4a);
}
这种效果的解释是什么?是控制台输出的时间还是什么......?