当用户在文本框中键入值时,在另一个文本框中显示一个文本框值

时间:2010-08-29 05:42:24

标签: javascript jquery

当用户在文本框中键入值时,有没有办法从一个文本框中获取值并使用jQuery动态添加到另一个文本框?如果有这样的事情,请有人解释一下这个方法吗?

regrds, Rangana

4 个答案:

答案 0 :(得分:11)

你的意思是http://jsfiddle.net/ZLr9N/

$('#first').keyup(function(){
    $('#second').val(this.value);
});
实际上它非常简单。首先,我们在第一个keyup上附加input事件处理程序。这意味着只要有人在第一个input中键入内容,就会调用keyup()函数内的函数。然后,我们使用input函数将第一个input的值复制到第二个val()。就是这样!

答案 1 :(得分:2)

$('#textbox1').keypress(function(event) {
    $('#textbox2').val($('#textbox1').val() + String.fromCharCode(event.keyCode));
}); 

这将确保textbox2始终与textbox1的值匹配。

注意:您可以像其他人建议的那样使用keyup事件,但可能会有轻微的延迟。测试两种解决方案,这个应该“看起来”更好。对它们进行测试并按住一个键或快速输入,你会发现使用keyup时会出现明显的延迟,因为在keypress事件发生之前keyup会触发。

答案 2 :(得分:1)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd"
    >
<html lang="en">
<head>
    <title><!-- Insert your title here --></title>
<script type="text/javascript"
 src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {

    $('#from').keyup(function(event) {
      $('#to').text($('#from').val());
    });

  });
</script>
</head>
<body>
<textarea id="from" rows=10 cols=10></textarea>
<textarea id="to" rows=10 cols=10></textarea>
</body>
</html>

答案 3 :(得分:0)

$(document).ready(function(){
    $("#textbox1").blur(function(){$('#textbox2').val($('#textbox1').val()});
}

动作将对textbox1的模糊执行。