Я пытаюсь написать сценарий, который добавляет содержимое текстового ввода в текстовое поле в реальном времени
Вот что я сейчас имею:
<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);
});
В настоящее время мой ввод - это предыдущая строка плюс новая, поэтому, если я набрал привет, я бы получил
час
HHE
hehel
helhell
hellhello
Я понимаю, почему это происходит, но я не могу найти решение.
РЕДАКТИРОВАТЬ
Чтобы уточнить, я ищу следующий результат:
#prepend
'test' в #prepend
. #tweet-text
теперь говорит 'test'.#tweet-text.
# tweet-text 'теперь говорит' test test2 '.#prepend
так, что теперь он говорит "test3". #tweet-text
теперь говорит 'test3 test2'.сделайте вот так:
function appendTweet()
{
var tweet = $("#prepend").val();
$('#tweet-text').val(function(index, old) { return tweet + old; });
}
Это добавит текст текстового поля в текстовую область.
Попробуй это:
jQuery(document).ready(function($) {
$('#prepend').onkeydown(function() {
var tweet = $("#tweet-text").val();
$('#prepend').val(tweet);
});
});