Javascript 在jQuery中将输入值前置到textarea
我正在尝试编写一个脚本,实时地将文本输入的内容预先添加到textarea 以下是我目前拥有的:Javascript 在jQuery中将输入值前置到textarea,javascript,jquery,Javascript,Jquery,我正在尝试编写一个脚本,实时地将文本输入的内容预先添加到textarea 以下是我目前拥有的: <textarea rows="4" id="tweet-text" name="tweet-text"></textarea> <input id="prepend" name="prepend" type="text"> 目前,我的输入是前一
<textarea rows="4" id="tweet-text" name="tweet-text"></textarea>
<input id="prepend" name="prepend" type="text">
目前,我的输入是前一个字符串加上新的字符串,因此如果我键入hello,我将得到
h
hhe
黑尔
地狱
你好
我知道为什么会这样,但我找不到解决办法
编辑
为了澄清,我期待以下结果:
#prepend
中键入“test”<代码>#推文现在显示“测试”#prepend
,使它现在显示为“test3”<代码>#tweet文本现在显示“test3 test2”jQuery(document).ready(function($) {
$('#prepend').onkeydown(function() {
var tweet = $("#tweet-text").val();
$('#prepend').val(tweet);
});
});
这样做:
function appendTweet()
{
var tweet = $("#prepend").val();
$('#tweet-text').val(function(index, old) { return tweet + old; });
}
这将在文本区域中前置文本框文本
这篇文章的哪一部分在输入框的前面?tweet text的val函数感谢演示。对你有用吗?它的作用与我在问题中所描述的相同。您想在文本区域中预加文本框值,它正在这样做是的,但我只需要当前预加文本就可以在文本区域中。这允许它们累积。请更具体地说明您想要实现的目标:允许用户在文本区域键入文本?如果是这样的话,您希望在文本框中的文本添加前缀时保留文本区域中的文本,对吗?@Paolo No,我希望替换它。查看我的编辑。在第2点,您正在文本区域中键入。在第3点,您将保留在文本区域“test2”中键入的内容。不换。对不起,是的,没错。文本区域中的内容将被保留,输入中的内容将被替换。我在这里看到了一个关键点:您可以保持文本区域的更新(同步),以便在用户在
prepend
中写入文本时始终以prepend
开头。但是,如果用户在文本区域的开头写入,更改前置字符串(从文本区域中)或只是清除整个文本区域,该怎么办?
function appendTweet()
{
var tweet = $("#prepend").val();
$('#tweet-text').val(function(index, old) { return tweet + old; });
}