提前致谢。
我想更改输入文字的值" total"以取决于选择" opciones"的价值的形式。我尝试使用onchange()
,document.getElementById("")
。值,但它不起作用。
我不知道什么是失败的,但我无法改变输入值。
<form name="formulario">
<select name="opciones" id="opciones">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="text" name="suma" id="total">
</form>
使用Javascript:
function formtotal() {
if (document.formulario.opciones.value = "1") {
document.formulario.suma.value = "1000";
}
else if (document.formulario.opciones.value = "2") {
document.formulario.suma.value = "1250";
}
else if (document.formulario.opciones.value = "3") {
document.formulario.suma.value = "1500";
}
}
答案 0 :(得分:2)
我认为你应该尝试使用
let e = document.getElementById("opciones");
let total = document.getElementById("total");
switch(e.selectedIndex) {
case 0:
total.value = 1000;
break;
case 1:
total.value = 1250;
break;
case 2:
total.value = 1500;
break;
default:
total.value = 0;
}
答案 1 :(得分:0)
我认为应该是document.formulario.suma.value
而不是document.formulario.total.value
。
但是,下面的代码工作正常。在jsfiddle中测试(下面的链接)。
function formtotal() {
var x = document.getElementById("opciones").value;
if (x == "1") {
document.getElementById("total").value = "1000";
}
else if (x == "2") {
document.getElementById("total").value = "1250";
}
else if (x == "3") {
document.getElementById("total").value = "1500";
}
}
根据以下代码段添加onchange到select标记:
<select name="opciones" id="opciones" onchange="formtotal()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
https://jsfiddle.net/fghxhtmk/ - 工作正常。请检查。
编辑:添加&#34;价值&#34;到每个选项标签。
答案 2 :(得分:0)
我可以看到的一个明显错误是您使用equality operator
document.formulario.opciones.value = "1"
应该是
document.formulario.opciones.value == "1"
因此,您的第一个if语句将始终被评估为true。