当我更改选择标记时,为什么不在输入id =" message"?中显示数据?

时间:2014-09-18 11:09:32

标签: javascript jquery

当我更改选择标记时,为什么不在输入id="message"中显示数据?

如果我想在输入id="message"中显示默认= 90,我该怎么做?

http://jsfiddle.net/Wf3g2/283/

<select id="leave" onchange="leaveChange()">
  <option value="5">Get Married</option>
  <option value="100">Have a Baby</option>
  <option value="90">Adopt a Child</option>
  <option value="15">Retire</option>
  <option value="15">Military Leave</option>
  <option value="15">Medical Leave</option>
</select>

<input id="message">

<script>
function leaveChange() {
        document.getElementById("message").innerHTML = document.getElementById("leave").value;   
}
</script>

5 个答案:

答案 0 :(得分:1)

或者,如果你真的想要一个jQuery答案(标记为),那就更简单了(我也想测试新的“代码片段”选项,因此这个编辑):

$('#leave').change(function(){
    $('#message').val($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="leave">
  <option value="5">Get Married</option>
  <option value="100">Have a Baby</option>
  <option value="90">Adopt a Child</option>
  <option value="15">Retire</option>
  <option value="15">Military Leave</option>
  <option value="15">Medical Leave</option>
</select>

<input id="message">

使用jQuery,您不需要(或希望)在元素中使用onclick处理程序,因此我删除了它。正如您所看到的,使用jQuery注册处理事件要清晰得多。

答案 1 :(得分:0)

你需要这样做:

var e = document.getElementById("leave");
document.getElementById("message").value = e.options[e.selectedIndex].value;

答案 2 :(得分:0)

.innerHTML更改为.value

要在HTML中设置默认值:

<input id="message" value="90"/>

http://jsfiddle.net/Wf3g2/284/

答案 3 :(得分:0)

由于<input>没有innerHTML属性,因此他们使用value

document.getElementById("message").value = document.getElementById("leave").value;

JSFiddle

答案 4 :(得分:0)

可能的解决方案之一是:

<强> HTML

<body onload="leaveChange()">
    <select id="leave" onchange="leaveChange()">
      <option value="5">Get Married</option>
      <option value="100">Have a Baby</option>
      <option value="90" selected="selected">Adopt a Child</option>
      <option value="15">Retire</option>
      <option value="15">Military Leave</option>
      <option value="15">Medical Leave</option>
    </select>

    <input id="message"/>
</body>

<强>的javascript

function leaveChange() {
    document.getElementById("message").value = document.getElementById("leave").value;   
}

点击此链接jsfiddle查看有效示例。 希望它有用!