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