我试图在输入框中显示结果,具体取决于选择。
因此,如果选择“1”,则输入将显示“1”,如果选择“2”,则输入将显示“2”。
下面的代码不允许选择“2”作为选项。
function SelectData(data) {
if (data.value = "1") {
document.getElementById("result").value = "one";
} else if (data.value = "2") {
document.getElementById("result").value = "two";
}
}
<select onchange="SelectData(this)">
<option value='1'>1</option>
<option value='2'>2</option>
</select>
<input id="result" disabled>
有人可以帮忙吗?
非常感谢,
约翰
答案 0 :(得分:1)
您在if / else if语句中使用了错误的运算符。 =
会将变量设置为值,==
将检查变量是否等于某个值。
还有另一个操作符===
,它特定于特定于类型的操作:
"1" == true
将评估为true
"1" === true
将评估为false
,而
1 === 1
或true === true
将再次评估为true
。
function SelectData(data) {
if (data.value == "1") {
document.getElementById ("result").value = "one";
}
else if (data.value == "2") {
document.getElementById ("result").value = "two";
}
}
&#13;
<select onchange="SelectData(this)">
<option value='1'>1</option>
<option value='2'>2</option>
</select>
<input id="result" disabled>
&#13;
答案 1 :(得分:0)
您必须使用==
而不是=
data.value == "1"
询问值是equal
1
data.value = "1"
将值设置为1
function SelectData(data) {
if (data.value == "1") {
document.getElementById("result").value = "one";
} else if (data.value == "2") {
document.getElementById("result").value = "two";
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select onchange="SelectData(this)">
<option value='1'>1</option>
<option value='2'>2</option>
</select>
<input id="result" disabled>