0

我今天对此进行了编码,但是当我使用下拉列表时,我无法正常工作……当我自己编写数字时,它可以正常工作。为什么?!

  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

4 回答 4

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>
于 2013-03-20T14:43:07.240 回答
0

select 元素没有值,其中的 option 元素有值。请尝试以下操作:

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

未经测试,但这就是想法

于 2013-03-20T14:40:42.923 回答
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;
}

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

于 2013-03-20T14:49:52.097 回答
0

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

之所以bar()在你的下拉脚本改变的值时不被触发favorite是因为oninput通过用户界面(不是脚本)改变元素的值时onchange触发,在发生时触发blur(即input元素失去焦点)。因此,为了获得您想要的结果,您需要调用bar()from favBrowser()

function favBrowser() {
  var mylist=document.getElementById('myList');
  document.getElementById('favorite').value=mylist.value;
  bar();
}
于 2013-03-20T15:00:10.243 回答