这里我有和对象,我想动态插入其中的值。
var mergTr={}; //object
for(dd in dispID)
{
var dataID=displayObj[dispID[dd]];
if(dataObj[dataID])
{ var flag=0;
var valObj=dataObj[dataID];
var Class2 = (clsNo==0)?"even":"odd";
var cl_id=valObj["client_id"];
var dataId=dataID;
var columnName=valObj["fieldname"];
var valFilterObj={0:"",1:"",2:columnName,3:dataObj[dataID]["filter_type"],4:"",5:dataObj[dataID]["filter_auto"]};
if(flag==0){
for(vv in valFilterObj){
tr=$("<tr/>");
mergTr=tr;
tr.addClass(clsNo);
var td=$("<td/>");
td.append(columnName);
tr.append(td);
}
$.merge(mergTr,tr);
}
}
}
我想在对象中插入'tr'作为循环。但我不知道该怎么做。 $ .merge不起作用。如果我将直接分配'tr',那么它将替换旧的'tr'值。 任何人都可以帮我这个。
答案 0 :(得分:1)
如果您需要<tr>
列表,则应该有一个数组而不是对象。
var mergTr={}; // {} denotes object
var mergTr=[]; // [] denotes array
您可以将数组中的值推送为mergTr.push(trObject);
答案 1 :(得分:0)
您应该使用数组存储tr,并在 for循环中使用 var 在本地重新定义tr然后添加到数组。
var mergTr=[];
// the initial code
// ...
if(flag==0){
for(vv in valFilterObj){
var tr=$("<tr/>");
// Here the old tr is being re-assigned mergTr=tr;
tr.addClass(clsNo);
var td=$("<td/>");
td.append(columnName);
tr.append(td);
mergTr.push(tr);
}
}