将值从一个数组作为属性传递给另一个数组将返回未定义的

时间:2016-08-15 10:10:51

标签: javascript arrays properties

关于这个问题: Cannot edit/create/delete elements in table using Datatables and free editor

我正在尝试重写一些数据表免费编辑器以满足我的需求,但是我遇到了一个错误,我无法解决这个问题。

console output

正如您在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..... 

0 个答案:

没有答案