gpt4 book ai didi

javascript - 更改 document.form1.Q1[n+1].value 中的变量

转载 作者:行者123 更新时间:2023-11-28 07:08:52 27 4
gpt4 key购买 nike

这是我到目前为止所拥有的:

for (var n = 0; n < order.length; n++)
{
for (var i = 0; i < order.length; i++)
{
if (order[i]==[n+1])
{
document.form1.Q1[n+1].value = [i+1];
}
}
};

这就是我想要实现的目标,但不知道数组有多长,或者表单中的问题数量(尽管它们始终彼此相等):

if (order[0] == 1)
{
document.form1.Q11.value = 1;
}

if (order[1] == 1)
{
document.form1.Q11.value = 2;
}

if (order[2] == 1)
{
document.form1.Q11.value = 3;
}

if (order[0] == 2)
{
document.form1.Q12.value = 1;
}

if (order[1] == 2)
{
document.form1.Q12.value = 2;
}

if (order[2] == 2)
{
document.form1.Q12.value = 3;
}

if (order[0] == 3)
{
document.form1.Q13.value = 1;
}

if (order[1] == 3)
{
document.form1.Q13.value = 2;
}

if (order[2] == 3)
{
document.form1.Q13.value = 3;
}

我很确定我的问题是将变量 [n+1] 插入:

document.form1.Q1[n+1].value = [i+1];  

我尝试了几种不同的路线,但似乎无法弄清楚如何以另一种方式做到这一点,而且我显然无法对其进行硬编码。

例如:

  for (var n = 0; n < order.length; n++)
{
var Q = n+1;
var question = Q.toString();
var string = "Q1" + question;

for (var i = 0; i < order.length; i++)
{
if (order[i]==[n+1])
{
document.form1.['string'].value = [i+1];
}
}
};

和:

document.forms['form-name']['string'].value = [i+1];

此时我意识到我已经无法承受了。

非常感谢您的帮助!

非常感谢您的宝贵时间:)

最佳答案

使用 string 变量的方法还不错,但您必须将其用作 property accessor 中的变量。 - 您使用了字符串文字 'string',这相当于访问 .string 属性。

for (var n = 0; n < order.length; n++) {                 
var Q = n+1;
var question = Q.toString();
var string = "Q1" + question;

for (var i = 0; i < order.length; i++) {
if (order[i] == n+1) { // no array literal here!
document.form1[string].value = i+1;
}
}
}

但是,有一种更简洁的方法,不需要嵌套循环:

for (var i = 0; i < order.length; i++) {
var Q = order[i];
var string = "Q1" + Q;
document.forms.form1.elements[string].value = i+1;
}

关于javascript - 更改 document.form1.Q1[n+1].value 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31478018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com