2009-11-03 28 views
0

我有一些javascript:動態值分配給基於AJAX的內容ID

eval('var incomingJSON =' + ajaxObj.responseText); 
for (p in incomingJSON.common) { 
    document.getElementById(p).value = incomingJSON.common.p; 
} 

其中ajaxObject.responseText是:

{ 
    "common": { 
     "item1": "1", 
     "item2": "2", 
     "item3": "3", 
     "item4": "4", 
     "item5": "5" 
    } 
} 

下面這行工作:

document.getElementById(item1).value = incomingJSON.common.item1; 

然而,incomingJSON.common.p評估爲「未定義」。分配的左側工作正常。給定正確名稱,訪問該對象中的值的正確方法是什麼?

回答

1

我認爲你正在尋找的括號標記語法:

document.getElementById(p).value = incomingJSON.common[p]; 
+1

這就是所謂的括號標記。調用數組符號可能導致混淆,所以請不要。 https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Member_Operators – Quentin 2009-11-03 16:35:32

+0

我知道這會很容易。謝謝。 – 2009-11-03 16:39:12