for var with var

时间:2013-12-03 11:58:58

标签: javascript loops

我有以下功能。我想遍历每个var并检查它是否正确。

        function checkAnswers(){

            DropdownVal1 = $('#dropdown1 option:selected').val()
            DropdownVal2 = $('#dropdown2 option:selected').val()
            DropdownVal3 = $('#dropdown3 option:selected').val()
            DropdownVal4 = $('#dropdown4 option:selected').val()
            DropdownVal5 = $('#dropdown5 option:selected').val()
            DropdownVal6 = $('#dropdown6 option:selected').val()
            DropdownVal7 = $('#dropdown7 option:selected').val()
            DropdownVal8 = $('#dropdown8 option:selected').val()


            for (var i = 1;i<9;i++)
            {


                    if(DropdownVal+i == "correct"){
                        console.log("correct" + i)  
                    }
            }


        }

我的控制台说它无法找到DropdownVal所以我假设它没有与我正确连接

如何在循环中连接变量?

4 个答案:

答案 0 :(得分:2)

试试这个

function checkAnswers(){

        for (var i = 1;i<9;i++)
        {

                var val = $('#dropdown'+i+' option:selected').val();
                if(val == "correct"){
                    console.log("correct" + i)  
                }
        }


    }

在这种情况下,您可以创建动态选择器并在每个循环迭代

上获取它

答案 1 :(得分:1)

如果要使用DropdownVal和数字,通常使用数组数据类型。您可以通过索引进行迭代。有关数组和其他数据类型的更多信息可以在http://javascript.info/tutorial/array

找到
function checkAnswers(){

    var DropdownVal = [];

    DropdownVal[0] = $('#dropdown1 option:selected').val()
    DropdownVal[1] = $('#dropdown2 option:selected').val()
    DropdownVal[2] = $('#dropdown3 option:selected').val()
    DropdownVal[3] = $('#dropdown4 option:selected').val()
    DropdownVal[4] = $('#dropdown5 option:selected').val()
    DropdownVal[5] = $('#dropdown6 option:selected').val()
    DropdownVal[6] = $('#dropdown7 option:selected').val()
    DropdownVal[7] = $('#dropdown8 option:selected').val()


    for (var i = 1;i<9;i++)
    {
        if(DropdownVal[i] == "correct") {
             console.log("correct" + i);  
        }
    }


}

答案 2 :(得分:1)

使用数组:

    function checkAnswers(){

        var dropdowns = [ $('#dropdown1 option:selected').val(),
                          $('#dropdown2 option:selected').val(),
                          $('#dropdown3 option:selected').val(),
                          $('#dropdown4 option:selected').val(),
                          $('#dropdown5 option:selected').val(),
                          $('#dropdown6 option:selected').val(),
                          $('#dropdown7 option:selected').val(),
                          $('#dropdown8 option:selected').val() ];


        for (var i = 0;i<dropdowns.length ;i++)
        {
                if(dropdowns[i] == "correct"){
                    console.log("correct" + i)  
                }
        }


    }

答案 3 :(得分:1)

试试这个:

function checkAnswers(){

    for (var i = 1;i<9;i++)
    {
            if ( $("#dropdown"+i+" option:selected").val() == "correct"){
                console.log("correct" + i)  
            }
    }

}