2012-12-13 176 views
3

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

<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'; 
} 

在这里,我刚才模拟按钮点击文本框“两化”的变化,但实际上它是由一些其他方法改变。 当文本框'two'的值发生变化时,我想要更改文本框'one'的文本。 像onchange和keyup这样的事件不会像文本被明确更改一样工作。 检查两个文本框的间隔为1秒的值是否也不适合我。

纯Javascript或jQuery没问题。

+0

你为什么不只是改变'myFunction'内也'#one'的价值? – twiz

+0

您可能正在寻找的是JQuery中的change()方法(http://api.jquery.com/change/) – DigTheDoug

+0

为什么'keyup'不起作用?你在剧本中处理了哪些事件?你可以发布一个(简单的,[简短的,独立的,正确的/可编译的](http://sscce.org/))[现场演示](http://jsfiddle.net/)? –

回答

0

我的解决方案是建立在两个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/