2016-10-12 3 views
0

Я использую радиокнопку plata с двумя значениями 1 и 2 в моей форме, а другой вход скрыт plata2 принять одно значение зависит в plata.Проблема с тем, если оператор в функции JavaScript

Так я использую этот код внутри в существующей функции total():

test = document.getElementById('plata').value; 

if (test == 1) { 
    document.getElementById('plata2').value=pretfinal; 
} 
else{ 
    document.getElementById('plata2').value=avansfinal; 
} 

Но plata2 взять только первое значение, else никогда не работает? может помочь с этим.

+1

Попробуйте проверить значение теста, регистрируя его на консоль чтобы увидеть, если он когда-либо отличается от 1 – Owuor

+0

Нам нужно увидеть HTML. –

ответ

0

попробовать «проверено» вместо значения:

test = document.getElementById('plata').checked; 
if (test) {document.getElementById('plata2').value=pretfinal;} 
else {document.getElementById('plata2').value=avansfinal;} 
0

Я думаю, что вы сделали дается как в радиоэлементов и тот же идентификатор

test = document.getElementById('plata').value; 

код строки выше будет выбрать только 1-й радиоэлемент, в вашем случае 1-й со значением 1. Следовательно, приводит к блоку if, а не блоку else.

Вот пример кода для вашего требования

https://jsfiddle.net/udkxynsn/

<label for='plate_1'>1</label> 
<input type=radio name='plata' id='plata_1' value=1> 
<br> 
<label for='plate_1'>2</label> 
<input type=radio name='plata' id='plata_2' value=2> 
<br> 
<input id='plata2'> 
<br> 
<br> 
<div>CLICK</div> 


<script> 
document.querySelector('div').addEventListener('click', test); 


function test(){ 
    test = document.querySelector('[name=plata]:checked').value; 
    if (test == 1) { 
    document.getElementById('plata2').value="value1"; 
    }else { 
    document.getElementById('plata2').value="value2"; 
    } 
} 
</script> 
0

Проверьте, какой из радио элемент выбран:

function total() { 
      if (document.getElementById('plata').checked) { 
       test = 1; 
      } 
      else 
      { 
       test = 2; 
      } 
      if (test == 1) { document.getElementById('plata2').value = pretfinal; } 
      else { document.getElementById('plata2').value = avansfinal; } 
     } 
Смежные вопросы