如何使用jquery / javascript将值插入到javascript对象中

时间:2016-04-08 05:49:23

标签: javascript jquery

这里我有和对象,我想动态插入其中的值。

      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'值。 任何人都可以帮我这个。

2 个答案:

答案 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);
                }

            }