在JavaScript函数中使用if语句的问题

时间:2016-10-12 07:38:07

标签: javascript function if-statement

我在表单中使用了一个带有两个值12的单选按钮plata2,另一个隐藏的plata输入取一个值依赖于total()

所以我在现有函数test = document.getElementById('plata').value; if (test == 1) { document.getElementById('plata2').value=pretfinal; } else{ document.getElementById('plata2').value=avansfinal; } 中使用此代码:

plata2

但是else只取第一个值,private static int SumOfDigits(int value) { int result = 0; while (value > 0) { result += value % 10; value /= 10; } return result; } public static int StringToDigit(string text) { int value = 0; if (!int.TryParse(text, out value)) throw new InvalidArgumentException(nameof(text)); if (value < 0) throw new ArgumentOutOfRangeException(nameof(text)); while (value >= 10) value = SumOfDigits(value); return value; } 永远不会有效?可以帮助这个。

3 个答案:

答案 0 :(得分:0)

尝试“检查”而不是值:

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

答案 1 :(得分:0)

我认为你所做的是同时给出了相同id的无线电元素

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

上面的代码只会选择第一个无线电元素,在你的情况下是第一个值为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>

答案 2 :(得分: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; }
        }