2016-04-08 10 views
0

ここで私はオブジェクトを持っており、その中に値を動的に挿入したいと思います。jquery/javascriptを使用してjavascriptオブジェクトに値を挿入するには

 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

objetには次のように値を割り当てることができます。var mergTr = {}; //オブジェクト mergTr.flag = 0; mergTr.valObj = 'data'; ... – Steve

+0

@Steve申し訳ありませんが、私はそれを理解しませんでした。あなたはそれを説明するか、私に参照リンクを教えてもらえますか? –

答えて

1

<tr>のリストが必要な場合は、オブジェクトではなく配列が必要です。

var mergTr={}; // {} denotes object 
var mergTr=[]; // [] denotes array 

あなたは、アレイに追加し、ローカルにTRを再定義するループ使用VARのためにTRと中を格納する配列を使用する必要がありますmergTr.push(trObject);

0

として配列の値をプッシュすることができます。

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

      } 
+0

はい私はそれを行うことができます。しかし、この関数が呼び出された元の関数にオブジェクトを返すとき、私はこのオブジェクトをもう一つのオブジェクトとマージする必要があります。オブジェクトをマージして配列することは可能ですか? –

+0

戻りオブジェクトは配列になります。もう一方のオブジェクトが配列の場合は、mergeを使用できますが、マージでは単に両方を一緒に追加します。あなたが達成しようとしていることを説明できますか?この関数はrows要素を作成して返します。次に何を返しますか?どのようにそれを使用しようとしていますか? –

関連する問題