2016-09-29 1 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 тогда», это «если A = B или A = C, то « – soohoonigan

+0

Невозможно ли написать« if A = B & C then »? Я отправлю код. – Medi

ответ

-1

Вы & & "бюджета1". Это строка, поэтому всегда верно. Поэтому используйте & & budget1 (при условии, что budget1 является переменной).

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

не является допустимым логическим тестом и также является синтаксически неправильным. Скажем, ради примера, чтобы оно было написано синтаксический правильно, это будет выглядеть так:

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

То все еще не собирается возвращаться верно. Например, допустим, что выбор равен «льду» ... «лед» никогда не мог быть равным как «льду» , так и «budget1» в то же время, это просто нелогично. Скорее, я думаю, что то, что вы хотите сделать, - это тест, если выбор равен либо «ice» , либо «budget1» ... и если бы это было так, заявление, которое вы хотите использовать:

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

Таким образом, если выбор равен одному из этих значений, тогда условие будет оцениваться как истинное.

+0

Это хорошая оценка того, что можно сделать. Я думаю, что моя проблема здесь в том, что у меня есть только одна рабочая переменная, где, возможно, у меня должно быть два для любой формы, а затем я могу использовать «if (choice ===« ice »&& choice2 ===« budget1 »)», предполагая, что новая переменная называется выбором2. – Medi

+0

ya, если вам нужны обе переключатели, чтобы «выровнять», чтобы показать div, то то, что вы только что написали, правильно – soohoonigan

+0

Большое спасибо за вашу помощь. – Medi

Смежные вопросы