Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добавить текст в конец тега textarea (https://javascript.ru/forum/misc/42619-dobavit-tekst-v-konec-tega-textarea.html)

lamer 03.11.2013 11:52

Добавить текст в конец тега textarea
 
Здравствуйте, помогите плиз со скриптом, нужно чтоб в <textarea>
Можно было печатать текст, а потом кликнуть на <span> и добавился текст к на печатаному.

А у меня напечатанный стирается, а новый добавляется, нужно чтоб не стирался и не использовать не какие идентификаторы.
В моем примере почему то this по второму разу не работает и на фокусе не работает, в чем трабла ?

<html>
<head>
        <meta charset="UTF-8">
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <title>Code</title>
</head>
<body>
<p>
        <textarea></textarea>
        <span name="ico">Click</span>
</p>

<script>        
    $('[name=ico]').click(function () {
        $(this).closest('p').find('textarea').val($(this).val()+'TEXT');
        $(this).focus();
    });
</script>
</body>
</html>

BETEPAH 03.11.2013 11:55

Как думаете, куда показывает $(this) в вашем случае?
$(this).val() пытается взять значение из <span name="ico">Click</span>
$(this).focus() - опять-таки переводит фокус на <span name="ico">Click</span>

ksa 03.11.2013 11:56

Цитата:

Сообщение от lamer
$(this).closest('p').find('textarea').val($(this).val()+'TEXT');

Заменить на

var o=$(this.parentNode).find('textarea');
o.val(o.val()+'TEXT');

lamer 03.11.2013 22:28

Спасибо ребят за помощь.
ksa, + 1

ruslan_mart 04.11.2013 04:50

$('[name="ico"]').click(function() {
   $(this).prev()[0].value += 'TEXT';
});


Часовой пояс GMT +3, время: 09:24.