【问题标题】:Change text of a textbox when other textbox text is changed更改其他文本框文本时更改文本框的文本
【发布时间】:2012-12-13 22:31:57
【问题描述】:

我有两个输入类型 = 文本。文本框的文本是从自定义日期选择器模块中填充的。当第一个文本框的文本改变时,我想改变第二个文本框的内容。

<input type = "text" id = "one"> 
<br>
<input type = "text" id = "two">
<br>
<button onclick="myFunction()">Click me</button>

Javascript

function myFunction()
{
    document.getElementById('two').value = 'hello';
}

这里我只是模拟了按钮单击时文本框“二”的变化,但实际上它是由其他一些方法改变的。 当文本框“二”的值发生更改时,我想更改文本框“一”的文本。 当文本被显式更改时,诸如 onchange 和 keyup 之类的事件将不起作用。 每隔 1 秒检查两个文本框的值是否相等对我来说也不是一个选项。

纯 Javascript 或 jQuery 都可以。

【问题讨论】:

  • 你为什么不把#one 的值也改成myFunction 呢?
  • 您可能正在寻找的是 JQuery 中的 change() 方法 (api.jquery.com/change)
  • 为什么keyup 不起作用?您在脚本中处理哪些事件?你能发一个(简单,short, self-contained, correct/compilablelive demo吗?
  • 因为我不是通过打字输入文本,所以测试是由一些外部事件设置的。 semsem 的答案正是我想要的。谢谢大家的建议。

标签: javascript jquery


【解决方案1】:

这里是一个使用 jQuery 的例子:

实时取景: http://jsbin.com/aqiyaz/1/

代码: http://jsbin.com/aqiyaz/1/edit

【讨论】:

    【解决方案2】:

    我的解决方案基于以下两个 javascript 函数:

    function myFunction()
    {
        ob = document.getElementById('two')
            ob.value = 'hello';
        ob.focus();
        ob.blur();
    
    }
    function sync(){
       document.getElementById('one').value = document.getElementById('two').value 
    }
    

    这里是 HTML:

    <input type = "text" id = "one"> 
    <br>
    <input type = "text" id = "two" onblur="sync()">
    <br>
    <button onclick="myFunction()">Click me</button>​
    

    以下为演示:http://jsfiddle.net/saidbakr/hD6Sx/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      相关资源
      最近更新 更多