2016-09-29 31 views
-4

我想在JavaScript中使用單選按鈕來顯示一個div,只有通過從一個窗體中選擇一個特定的單選按鈕並從另一個窗體中的特定按鈕滿足兩個條件。我已經將JS設置爲such。我正在使用運算符來嘗試並要求符合這兩個條件才能運行jQuery,但它忽略了第二個條件。JavaScript驗證多個無線電選擇使用&&運算符

下面是代碼:

JS

//Front-end logic 
$().ready(function(){ 
    $("form.vacation").submit(function(event){ 
    event.preventDefault(); 
    var choice = $("input:radio[name=operator]:checked").val(); 
    if (choice === "ice" && "budget1") { 
     $("#swiss").show(); 
    } else if (choice === "kayak") { 
     $("#patagonia").show(); 
    } else if (choice === "scuba") { 
     $("#hawaii").show(); 
    } else if (choice === "lounge") { 
     $("#fiji").show(); 
    } 

    }); 
}); 

HTML 
    <body> 
    <div class="container"> 
     <form class="vacation"> 
     <div class="radio"> 
      <input type="radio" name="operator" value="ice"> 
      <label for="ice">I like to go ice climbing.</label> 
     </div> 
     </form> 
    </div> 

    <div class="container"> 
     <form class="vacation"> 
     <div class="radio"> 
      <input type="radio" name="operator" value="budget1"> 
      <label for="budget1">I have $5000 to spend.</label> 
     </div> 
     </form> 
    </div> 
    </body> 
</html> 
+0

首先,你應該發佈你的代碼,而不是它的截圖。其次,如何可以同時選擇「冰」和「預算1」?你確定你不需要「或」嗎?無論哪種方式,您都需要讓變量,其邏輯運算符以及要測試的值和/或兩側的測試值,您不能只是說「如果A = B&C那麼」,它就是「if A = B或A = C,則「 – soohoonigan

+0

如果A = B&C,那麼是否沒有辦法寫」?我將發佈代碼。 – Medi

回答

-1

你有& & 「budget1」。這是一個字符串,所以總是如此。因此,使用& & budget1(假設budget1是一個變量)。

1
if (choice === "ice" && "budget1") 

不是有效的邏輯測試,也是語法錯誤。比方說,它的語法正確,它看起來像:

if (choice === "ice" && choice === "budget1") 

這仍然永遠不會返回true。例如,假設選擇等於「冰」......「冰」不可能同時等於「冰」「budget1」,這在邏輯上是不可能的。相反,我認爲你要做的是測試如果選擇等於或者「冰」「預算1」...如果是這樣的話,您要使用的語句是:

if (choice === "ice" || choice === "budget1") 

這樣,如果選擇等於這兩個值中的任何一個,那麼該條件將評估爲true。

+0

這是對可以做什麼的一個很好的評估。我認爲我的問題在這裏是我只有1個工作變量,也許我應該有兩種形式,然後我可以使用「if(choice ===」ice「&& choice2 ===」budget1「)」假設新變量被稱爲choice2。 – Medi

+0

雅,如果你需要兩個單選按鈕來「對齊」以顯示div,那麼你剛剛寫的是正確的 – soohoonigan

+0

非常感謝您的幫助。 – Medi