2013-03-14 29 views
-2

我有這個變量,它包含多個值。我希望價值是唯一的。例如: 'Q1' + NUM:的document.getElementById( 「Q1」)值製作靈活的變量名稱

注:NUM有我的PHP頁面上的唯一編號

var newItem = { 

    'methv': document.getElementById("methv").value, 
    'q1': document.getElementById("q1").value, 
    'q2':document.getElementById("q2").value, 
    'q3':document.getElementById("q3").value, 
    'q4':document.getElementById("q4").value, 
    'comm':document.getElementById("comm").value, 

}; 

NUM的值的數值:

<input id="num" type="hidden" value="<?php echo $post['unique person code']; ?>" /> 

我希望這是添加到變量時的唯一標識符。例如 'methv' + NUM:的document.getElementById( 「methv」)值

+3

這個問題在目前的形式中沒有任何意義。 「想要價值變得靈活」是什麼意思?請詳細說明。 – 2013-03-14 18:59:09

+0

像在一個獨特的價值標識這個值,因爲這個功能將被多次調用 – user2162768 2013-03-14 19:01:57

+1

請編輯您的問題,以提供樣本用例。我還是不明白。 – 2013-03-14 19:02:31

回答

0

您可以使用[]訪問像數組這樣的對象。所以,你可以這樣做:

var num = document.getElementById("num").value; 

var newItem = {}; 
newItem['methv'+num] = document.getElementById("methv").value; 

或者,你可以使用num作爲自己的密鑰,然後窩那下一個對象。像這樣:

var num = document.getElementById("num").value; 

var newItem = {}; 
newItem[num] = { 
    "methv": document.getElementById("methv").value 
}; 
+0

謝謝!對不起,以前的困惑很難解釋的情況大聲笑 – user2162768 2013-03-14 19:19:09

+0

沒關係。在看了這個問題之後,我想出了你想要做的事情:) – 2013-03-14 19:22:36

-1

eval(...)是答案:

eval(document.getElementById('methv').value + ": document.getElementById('methv').value"); 

EVAL允許您生成一個使用你的變量作爲變量名的值源代碼。

+0

'eval'是***從不***答案!我建議做'newItem [document.getElementById('methv').value]'而不是。 – 2013-03-14 19:04:56

+0

此代碼非常不安全!它甚至不是正確的語法。 – 2013-03-14 19:11:05