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');

2 番目のコード スニペットでは、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 に答える