这绝对是一个非常基本的问题,但我遗漏了一些小问题而无法找到问题。
我有8个变量作为参数进入,它们放在一个数组中并传递给Datatables Add row函数。令人惊讶的是,如果在变量之前或之后连接一个字符,然后将其放入数组中,则添加该行,但如果我只是将变量放在数组中则不起作用。对于一个变通方案解决方案,我预先为变量添加后缀空格,然后对其进行计时,这是有效的。我使用console.warn(typeof(var))
检查了变量的类型,它们都是string
。请在下面看到我的代码并附带内联注释。
function AddRowinDt(ProcDate,Area, Surf,Proc,Desc,Prov,Status,Notes){
//The following does not work but should work!!
//var data=[ProcDate,Area,Surf,Proc,Desc,Prov,Status,'000'];
//The following works as I am adding a character before and after the variable and then trimming it.
var data=[' '+ProcDate+' '.trim(),' '+Area+' '.trim(),' '+Surf+' '.trim(),' '+Proc+' '.trim(),' '+Desc+' '.trim(),' '+Prov+' '.trim(),' '+Status+' '.trim(),'000'];
var rowNode = Dt.row.add(data).draw().node();
$( rowNode )
.css( 'color', 'red' )
.animate( { color: 'blue' } , 2000);
}
问题是:为什么字符与变量的串联起作用,为什么不简单地将变量放在数组中呢!我错过了什么?