我制作了 2 个输入字段和 1 个选择字段,我应用 onchange() 函数来选择调用 javascript 的标记,该脚本进行计算并将其显示在其他两个字段中 但由于某些语法或逻辑原因,它不起作用。请查看我的代码,如有任何帮助,我们将不胜感激。
<html>
<head>
<script type="text/javascript">
function update() {
var x = document.getElementsByName("n_person").value;
document.getElementsByName("m_income").value= x*5;
document.getElementsByName("y_income").value= x*4;
}
</script>
</head>
<body>
<div class="elist"> <span class="b_text"><span>*</span>Level 1:</span>
// here is select tag where I put onchage function <select class="ifield" name="n_person" onChange="update()">
<option value="" selected="selected">Choose no. of person referred</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
// These are teh input where resultant value will appear <input type="text" value="" placeholder="Your weekly Income..." name="m_income" id="weekly_income" class="field" readonly required />
<input type="text" value="" placeholder="Your day Income..." name="y_income" id="day_income" class="field" readonly required/>
</div>
<!--elist-->
</body>
</html>
最佳答案
看这个fiddle
更新的 JS
function update() {
var x = document.getElementsByName("n_person")[0].value;
document.getElementsByName("m_income")[0].value = x * 5;
document.getElementsByName("y_income")[0].value = x * 4;
}
您的 JS 的问题是您没有使用 getElementsByName
定位正确的 HTML 元素。
请阅读更多相关信息 here
关于Javascript onchange 函数不适用于选择标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34481419/