Javascript来自两个或多个函数的多个条件

时间:2013-01-17 16:17:45

标签: javascript conditional-statements

如果这很简单,请原谅我。我是javascript的新手。

我正在尝试根据用户对问题的回答来显示或隐藏某些div。我为每个问题创建了一个函数,根据函数的值得出问题的结果。但我无法得到&&额外的工作条件。如果两个条件都为真,我需要div才会出现。它似乎甚至没有从&&和超越。 Q1还根据答案设置了div中的一些文本。这似乎工作正常。

// Question 1
function analyzeQ1(answerQ1) {
    if (answerQ1 == "TMC" || answerQ1 == "CMH" || answerQ1 == "SLH" || answerQ1 == "KU" || answerQ1 == "UMKC") {
        document.getElementById('A1').innerHTML = " • Contact Research Administration at "+ answerQ1; + hideStuff('Q1a') + showStuff('A1')
    } else if 
        (answerQ1 == "Other") {
         showStuff('Q1a')
}

}

//Question 3
function analyzeQ3(answerQ3) {
    if (answerQ3 == "no" &&  answerQ1 == "TMC") {
        showStuff('A3') + hideStuff('Q3a')
    } else if
        (answerQ3 == "yes") {
            showStuff('Q3a')
}

1 个答案:

答案 0 :(得分:0)

在第一个代码段中,您有一个迷路分号:

document.getElementById('A1').innerHTML = " • Contact Research Administration at "+ answerQ1;
hideStuff('Q1a');
showStuff('A1');

在第二个代码段中,您引用了answerQ1但从未将其传递给函数,因此您需要:

//Question 3
function analyzeQ3(answerQ3, answerQ1) {
    if (answerQ3 === "no" &&  answerQ1 === "TMC") {
        showStuff('A3') + hideStuff('Q3a')
    } else if
        (answerQ3 === "yes") {
            showStuff('Q3a')
}

请注意,我使用了=== vs ==。 ==是邪恶的,你应该忘记它存在于Javascript中。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Comparison_Operators