2017-08-03 3 views
-1

2つの配列を使用して、各ステートメントに2つのステートメントを挿入しようとしましたが、各ステートメントごとに20回書くのではなく、変数を使用して各ステートメントをネストしました

ここは私が考えていたものです。ここでの考え方は、データを取得することです(mainDataに格納されています)。私はこのデータからいくつかのオブジェクトが必要なので、それらを配列に入れます($dataPoints)。私はこのデータをすべてテーブルに追加しています。特定の行に特定のid$tableIdsに格納されている)のデータを追加します。

$dataPointsのすべての項目について、データのその部分を調べて、配列内の同じ位置にあるidで示される場所のテーブルに追加します。

$.each(mainData.val[index].source_values, function(index, val) { 

エラーを投げている:

Uncaught TypeError: Cannot read property '0' of undefined

は、私はここで何をしないのですか?そう...

var $dataPoints = ['name','description','subtitle']; 
var $tableIds = ['mNames','mDescription','mSubtitle']; 
$.each($dataPoints, function(index, val) { 
    $.each(mainData.val[index].source_values, function(index, val) { 
     $("#matrix_datatable").find('#'+$tableIds[index]) 
      .append($('<td class="tableCells">') 
      .append(val.value + '</td>') 
     ) 
    }); 
}); 

しかし、このラインが好きこれを行う簡単な方法はありますか?

編集:これは完全に動作することに注意してください。

$.each(mainData.subtitle.source_values, function(index, val) { 
    $("#matrix_datatable").find('#mSubtitle') 
     .append($('<td class="tableCells">') 
     .append(val.value + '</td>') 
    ) 
}); 

しかし、私はmainData内の20個の異なるオブジェクトのためにこれを書きたくはありません。

+1

サンプルデータを投稿してください – baao

+0

'mainData.val'は長さ> 1の配列ですか? –

+0

わからないコードについてはお手伝いできません。明らかに、その行で爆発すると、 'mainData.val'は' '0 ''のプロパティを持ちません。 –

答えて

0

あなたはおそらく意味のように見えます:mainData.valを書く

mainData[val][index].source_values 

は文字通りmainDataの重要valを探します。

関連する問題