繁体   English   中英

对于带有var的循环

[英]For loops with 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,所以我假设它与i的连接不正确

如何在循环中连接变量?

尝试这个

function checkAnswers(){

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

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


    }

在这种情况下,您将创建动态选择器并在每次循环中获取它的值

如果要使用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);  
        }
    }


}

使用数组:

    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)  
                }
        }


    }

只需尝试以下操作:

function checkAnswers(){

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

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM