关于这个问题: Cannot edit/create/delete elements in table using Datatables and free editor
我正在尝试重写一些数据表免费编辑器以满足我的需求,但是我遇到了一个错误,我无法解决这个问题。
正如您在console.logs的图片底部(Outputs :)中看到的那样,我可以通过硬编码属性来获取数组的值(所选行):
adata.data()[0].ntp_server
但是当将数组的属性更改为另一个数组的值时:
adata.data()[0].newaData[j].name
我得到了未定义,即使newaData [j] .name的值是ntp_server
我搜索了网络和堆栈,但无法找到解释原因。我已经检查了类型,尝试将newAdata值分配给变量和其他一些东西,但没有一个可行。
我正在获取列标题和行属性并将它们推送到这样的数组:
var dt = this.s.dt;
var columnDefs = [];
var newaData = [];
for( var i = 0; i < dt.context[0].aoColumns.length; i++ )
{
columnDefs.push({ title: dt.context[0].aoColumns[i].sTitle });
newaData.push({ name: dt.context[0].aoColumns[i].data});
}
然后,我想在模式中显示列标题和行值,这是在这里完成的:
var adata = dt.rows({
selected: true
});
var data = "";
data += "<form name='altEditor-form' role='form'>";
for(var j = 0; j < columnDefs.length; j++){
data += "<div class='form-group'><div class='col-sm-3 col-md-3 col-lg-3 text-right' style='padding-top:7px;'><label for='" + columnDefs[j].title + "'>" + columnDefs[j].title + ":</label></div><div class='col-sm-9 col-md-9 col-lg-9'><input type='text' id='" + columnDefs[j].title + "' name='" + columnDefs[j].title + "' placeholder='" + columnDefs[j].title + "' style='overflow:hidden' class='form-control form-control-sm' value='" + adata.data()[0][j] + "'></div><div style='clear:both;'></div></div>";
}
我遇到问题的路线是:
data += "<div class='f.....