javascript函数,如果输入改变

时间:2013-03-20 14:37:29

标签: javascript function select option onchange

今天我编码了这个,但是当我使用我的下拉列表时,我无法工作...... 当我自己写这些数字时它工作正常。 为什么呢?!

  function favBrowser() {
    var mylist=document.getElementById('myList');
    document.getElementById('favorite').value=mylist.value;
}
 function bar() {
document.write('Hello World!');


<select id="myList" onchange="favBrowser()">
    <option></option>
    <option value="a">a</option>
    <option value="b">b</option>  
    <option value="c">c</option>
    <option value="d">d</option>
    <option value="e">e</option>
</select>
<p>heheheh: <input type="text" id="favorite" size="20" oninput="return bar()" onValueChanged="return bar()" value=""></p>

4 个答案:

答案 0 :(得分:1)

我认为这就是你要找的东西

function favBrowser(list) {
    document.getElementById('favorite').value=list.value;
}


<select id="myList" onchange="favBrowser(this)">
    <option></option>
    <option value="a">a</option>
    <option value="b">b</option>  
    <option value="c">c</option>
    <option value="d">d</option>
    <option value="e">e</option>
</select>
<p>heheheh: <input type="text" id="favorite" size="20" value=""></p>

答案 1 :(得分:0)

选择元素没有值,其中的选项元素具有值。请尝试以下方法:

document.getElementById('favorite').value=mylist.options[myList.selectedIndex].value;

没有经过测试,但这就是想法

答案 2 :(得分:0)

拥有此代码的HTML代码:

<select id="myList" onchange="favBrowser(this.value)">
    <option></option>
    <option value="a">a</option>
    <option value="b">b</option>  
    <option value="c">c</option>
    <option value="d">d</option>
    <option value="e">e</option>
</select>

<input type="text" id="favorite" size="20" value=""/>

你可以做下一个:

function favBrowser(val) {
     document.getElementById('favorite').value=val;
}

每次更改下拉列表的值时,都会自动更改输入值,因为您将下拉列表的值作为参数发送。

答案 3 :(得分:0)

首先,没有事件onValueChanged;你正在寻找onchange

当您的下拉脚本更改bar()的值时未触发favorite的原因是,当通过用户更改元素的值时会触发oninput接口(不是脚本),onchange发生时触发blur(即input元素失去焦点)。因此,为了获得您想要的结果,您需要从bar()致电favBrowser()

function favBrowser() {
  var mylist=document.getElementById('myList');
  document.getElementById('favorite').value=mylist.value;
  bar();
}