增量循环

时间:2013-11-01 12:14:31

标签: javascript loops increment

我有以下代码:

if((dropdown1save=="1")&&(dropdown2save=="1")&&(dropdown3save=="1")){
    $('#feedbackbox').html(information[1]);
}

if((dropdown1save=="1")&&(dropdown2save=="1")&&(dropdown3save=="2")){
    $('#feedbackbox').html(information[2]);
  }

dropdown1save从1到3 dropdown2save从1到10 dropdown3save从1到20

我需要一个循环,其中dropdown3save循环从1 - 20然后dropdown2save上升1并且dropdown3循环再次

然后当dropdown2save达到10 dropdown1save上升一个并且每个循环再次开始

例如,

111 112(依此类推) 121 122(依此类推 211 212(等)

每次我需要的dropdown3save循环(信息[x]]也增加1(因此有600个组合,因此最多可达600个!)

很抱歉这很难搞清楚,但我不知道怎么做!

3 个答案:

答案 0 :(得分:2)

试试这样:

$('#feedbackbox').html(
    information[
        ((parseInt(dropdown1save) - 1)  * (10 * 20) ) + 
        ((parseInt(dropdown2save) - 1)  * 20) +
        parseInt(dropdown3save)
    ]
);

答案 1 :(得分:1)

你所描述的是一个循环。以下for语句集将循环显示从1到20的值,然后将j的值增加1并再次从1循环到20。然后,当j的值达到10时,它将i递增1并重复。

for (var i = 1; i < 3; i++) {
    for (var j = 1; j < 10; j++) {
        for (var k = 1; k < 20; k++) {
            count = i * j * k;
            if (dropdown1save == i.toString() && dropdown2save == j.toString() && dropdown3save == k.toString())
            {
                $("#feedbackbox").html(information[count]);
            }
        }
    }
}

这应该可以解决问题。

答案 2 :(得分:0)

for(var i=1; i<= 3; i++) {
    for(var j=1; j<= 10; j++) {
            for(var k=1;k<=20;k++) {
                    if((dropdown1save==i.toString() )&& (dropdown2save==j.toString()) && (dropdown3save==k.toString())){
                            $('#feedbackbox').html(information[200*(i-1) + 20*(j-1) + k]);
                    }
            }
    }
}