0

如果这很简单,请原谅我。我是 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')
}
4

1 回答 1

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

于 2013-01-17T16:22:53.697 回答