一个javascript函数,使用循环,if和logic(&&)

时间:2017-05-04 21:02:40

标签: javascript checkbox logic

我正在使用带有四个复选框的javascript函数,其中两个是正确的答案。我试图使用以下代码。

function q4() {
    var a4 = document.getElementsByName('q4');
        for(i=0; i < a4.length; i++) {
            if(a4[i].checked) {
                if(a4[i].value == "a" && a4[i].value == "d") {
                correctAnswers++;
                alert('This works');
                }
            }// end if first if
        }// end of for loop
}// end of function q4

如果值a和d正确,则应该产生警报。

HTML:

<!-- Question 4 -->  
    <div class="question-box">  
        <div class="question"><h3>Question Four: Identify two output devices from the images.</h3></div>
        <div class="answers">  
            <input type="checkbox" name="q4" value="a">A)&nbsp;<img src="imgs/printer.jpg" alt="question image"><br/>
            <input type="checkbox" name="q4" value="b">B)&nbsp;<img src="imgs/keyboard.jpg" alt="question image"><br/>
            <input type="checkbox" name="q4" value="c">C)&nbsp;<img src="imgs/scanner.jpg" alt="question image"><br/>
            <input type="checkbox" name="q4" value="d">D)&nbsp;<img src="imgs/speakers.jpg" alt="question image"><br/>
        </div>
        <br>
    <input type="button" name="submit" value="Check Answer" onclick="q4()">
    <h3 id="Answer4">&nbsp;</h3>
    </div><!-- end of question four -->

1 个答案:

答案 0 :(得分:0)

考虑一下

<set name="employees" table="EMP_DEPTS" inverse="true" lazy="true">
    <key column="DEPT_ID"/>
    <many-to-many class="com.model.Employee" column="EMP_ID"/>
</set>

if(a4[i].value == "a" && a4[i].value == "d") { a4[i].value 如何成为"a"

你可能想要"d"(“或”),可能在循环完成后检查||等于2。

您的代码正在成为The Horror of Implicit Globals 的牺牲品(这是我贫血的小博客上的帖子)。请务必在最有意义的范围内声明您的变量(例如correctAnswersi),并且在correctAnswers的情况下,请务必初始化它(可能使用{{ 1}})。

更新的代码:

correctAnswers
0