2015-02-07 121 views
-2

也許我真的試過,但不知道爲什麼,這是行不通的,我試圖從VAR對象找回正確的值對於循環JavaScript對象

for (i = 1; i < 11; i++) { 
     (function(i) { 
      var EFPStart = form.formData.plantSample[i].EFPStart; 
      console.log(EFPStart); 
      $('#PO-'+i+'-EFP-start').val(EFPStart); 
     }(i)); 
    } 

這裏是 形式數據

formData: 
    plantSample1: 
    CE: 0EFAEnd:1 
    EFAStart: 1 
    EFPEnd: 1 
    EFPStart: 1 
plantSample2: 
    CE: 0EFAEnd:1 
    EFAStart: 1 
    EFPEnd: 1 
    EFPStart: 1 
plantSample3: 
    CE: 0EFAEnd:1 
    EFAStart: 1 
    EFPEnd: 1 
    EFPStart: 1 
+0

好吧,「不工作」是什麼意思?你是否得到了錯誤的價值,如果是的話,你期望的是哪個價值?錯誤訊息? – JJJ 2015-02-07 19:46:19

+0

另外,要分辨數據的實際結構有點難。你可以將它粘貼到有效的JavaScript中嗎? – JJJ 2015-02-07 19:46:48

+4

你必須使用括號符號來訪問對象的成員 - 「form.formData [」plantSample「+ i] .EFPStart' – Andreas 2015-02-07 19:49:41

回答

1

(只是爲了保持完整性...)

在這種情況下,你必須使用括號記號來訪問formData對象的成員。沒有必要使用封閉件。

for (var i = 1; i < 11; i++) { 
    var EFPStart = form.formData["plantSample" + i].EFPStart; 
    console.log(EFPStart); 
    $('#PO-' + i + '-EFP-start').val(EFPStart); 
}