制作灵活的变量名称
我有这个变量,它包含多个值。我希望价值是唯一的。例如: '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”)值
您可以使用[]
访问像数组这样的对象。所以,你可以这样做:
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
};
谢谢!对不起,以前的困惑很难解释的情况大声笑 – user2162768 2013-03-14 19:19:09
没关系。在看了这个问题之后,我想出了你想要做的事情:) – 2013-03-14 19:22:36
eval(...)
是答案:
eval(document.getElementById('methv').value + ": document.getElementById('methv').value");
EVAL允许您生成一个使用你的变量作为变量名的值源代码。
'eval'是***从不***答案!我建议做'newItem [document.getElementById('methv').value]'而不是。 – 2013-03-14 19:04:56
此代码非常不安全!它甚至不是正确的语法。 – 2013-03-14 19:11:05
这个问题在目前的形式中没有任何意义。 “想要价值变得灵活”是什么意思?请详细说明。 – 2013-03-14 18:59:09
像在一个独特的价值标识这个值,因为这个功能将被多次调用 – user2162768 2013-03-14 19:01:57
请编辑您的问题,以提供样本用例。我还是不明白。 – 2013-03-14 19:02:31