在jQuery中将输入值预先添加到textarea

时间:2014-04-27 15:39:55

标签: javascript jquery

我正在尝试编写一个脚本,将文本输入的内容实时添加到textarea

以下是我目前的情况:

<textarea rows="4" id="tweet-text" name="tweet-text"></textarea>
<input id="prepend" name="prepend" type="text">

jQuery的:

function appendTweet()
{
    var tweet = $("#tweet-text").val();
    $('#prepend').bind('keyup keypress', function() { 
        $('#tweet-text')[0].value = tweet + $(this)[0].value;
    });
}

jQuery(document).ready(function($)
{
    appendTweet();
    $('#prepend').keyup(appendTweet);
});

目前我的输入是前一个字符串加上新字符串,所以如果我输入hello我会得到

  

ħ

     

HHE

     

hehel

     

helhell

     

hellhello

我可以看到为什么会这样,但我找不到解决方案。

修改

澄清一下,我正在寻找以下结果:

  1. 我在'{1}}中输入'test'。 #prepend现在说“测试”。
  2. 我将'test2'输入#tweet-text#tweet-text`现在说'test test2'。
  3. 我修改了#tweet-text.,现在它说'test3'。 #prepend现在说'test3 test2'。

2 个答案:

答案 0 :(得分:0)

试试这个:

jQuery(document).ready(function($) {
     $('#prepend').onkeydown(function() { 
     var tweet = $("#tweet-text").val();
     $('#prepend').val(tweet);
});
});

答案 1 :(得分:0)

这样做:

function appendTweet()
{
    var tweet = $("#prepend").val();
    $('#tweet-text').val(function(index, old) { return tweet + old; });

}

这将在文本区域中添加文本框文本。

Here is Fiddle DEMO