Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建灵活的变量名_Javascript_Html - Fatal编程技术网

Javascript 创建灵活的变量名

Javascript 创建灵活的变量名,javascript,html,Javascript,Html,我有一个包含多个值的变量。我希望该值是唯一的。例如:“q1”+num:document.getElementById(“q1”).value 注意:num的值是唯一的 var newItem = { 'methv': document.getElementById("methv").value, 'q1': document.getElementById("q1").value, 'q2':document.getElementById("q2").value,

我有一个包含多个值的变量。我希望该值是唯一的。例如:“q1”+num:document.getElementById(“q1”).value

注意:num的值是唯一的

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,

};
我的php页面上的num具有以下值:

<input id="num" type="hidden" value="<?php echo $post['unique person code']; ?>" />
eval(…)
就是答案:

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

eval允许您生成使用变量值作为变量名的源代码。

您可以使用
[]
访问数组等对象。因此,您可以:

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:什么功能?你给我们看的只是一个物体。当前对象的哪些方面不是唯一的?你能多解释一下吗?向我们展示一个示例,说明您想要什么,尝试做什么,以及什么不起作用。在您的示例中,您使用的是
document.getElementById()
,并且使用元素ID作为属性名。由于元素ID应该是唯一的,如果您正确使用它们,那么从逻辑上讲,您的属性名称也应该是唯一的。如果您的ID不是唯一的,您应该修复它。
eval
永远不是答案!我建议改为使用
newItem[document.getElementById('methv').value]
。这段代码非常不安全!而且它的语法也不正确。谢谢!很抱歉之前的混乱,很难解释情况,没关系。在仔细研究了这个问题之后,我明白了你想做什么:)