根据选择显示输入值

时间:2017-02-15 13:20:18

标签: javascript html

我试图在输入框中显示结果,具体取决于选择。

因此,如果选择“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>

有人可以帮忙吗?

非常感谢,

约翰

2 个答案:

答案 0 :(得分:1)

您在if / else if语句中使用了错误的运算符。 =会将变量设置为值,==将检查变量是否等于某个值。

还有另一个操作符===,它特定于特定于类型的操作:

  • "1" == true将评估为true
  • "1" === true将评估为false

,而

  • 1 === 1true === true将再次评估为true

&#13;
&#13;
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;
&#13;
&#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>