2016-06-24 2 views
1

У меня есть стандартный html с помощью нескольких переключателей (на самом деле 3 из них).[javascript] radio button переходит к первому варианту

С:

function abo_show() 
{ 
    var x = document.gms_option.gms_element1; 
    console.log(x.value); 
    if (x.value = "1") { 
     document.getElementById("abo").style.display="block"; 
     document.getElementById("gms_abo1").style.display="table-row"; 
     document.getElementById("gms_abo2").style.display="table-row"; 
     document.getElementById("gms_abo3").style.display="table-row"; 
    } 
    else { 
     document.getElementById("abo").style.display="block"; 
     document.getElementById("gms_abo1").style.display="table-row"; 
     document.getElementById("gms_abo2").style.display="none"; 
     document.getElementById("gms_abo3").style.display="none"; 
    } 
} 

Я пытаюсь показать несколько дополнительных кнопок, на основе первого 3. Новые те находятся в «АВО» div, который скрыт по умолчанию (в CSS: "display:none").

Но когда я нажимаю на кнопку радио, чтобы выбрать, он выполняет и переходит к варианту 1.

Понятия не имею, почему. Может ли кто-нибудь объяснить и помочь?

+0

Вы можете сделать нам пример на jsfiddle, пожалуйста? – tanaydin

ответ

2

x.value = "1" по причине это.

Вы используете один =, выполняющий задание, не сравнивая. Это приводит к тому, что если всегда удается. просто используйте == или даже ===.

1

У вас есть простой = в выражении if. Его не сравнивают, он установлен. Ваш код устанавливает x.value на «1», а не сравнивает его. Использование:

if(x.value=="1") { 
Смежные вопросы