【问题标题】:javascript function , if input changejavascript函数,如果输入改变
【发布时间】:2013-03-09 17:26:06
【问题描述】:

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

  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>

【问题讨论】:

标签: javascript function select option onchange


【解决方案1】:

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

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

没有经过测试,但就是这样

【讨论】:

    【解决方案2】:

    我想这就是你要找的东西

    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>
    

    【讨论】:

    • 当我使用我的下拉列表时不会从下拉列表中打印 de 值,只有未定义? ;o
    • 您的意思是输入值不打印下拉列表中的值?你能显示你使用的 onchange 吗?
    【解决方案3】:

    有这个代码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;
    }
    

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

    【讨论】:

    • 我的问题是,当我的下拉列表更改值时没有任何反应,但是当我在 de input document.write('Hello World!'); 中写入我自己的值时显示
    • 页面加载后不要使用 document.write。
    • document.write 只是我写的一个东西,当输入有一个值时,我会改变:)
    • 但是 document.write 会覆盖文档中的所有数据
    【解决方案4】:

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

    当你的下拉脚本改变favorite的值时bar()没有被触发的原因是因为当通过用户界面(不是脚本)改变元素的值时触发oninput , 而onchangeblur 发生时触发(即input 元素失去焦点)。所以,为了得到你想要的结果,你需要从favBrowser()调用bar()

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

    【讨论】:

    • hmmm,你能写个例子吗?我是新来的:(
    • 重点是,在脚本更改元素的值之后,您不能使用oninputonchange 来执行您想要执行的操作。相反,您只需要让脚本执行此操作即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 2020-02-07
    相关资源
    最近更新 更多