Добавить значение формы выбора в текстовое поле с помощью jQuery

Как я могу добавить (а не заменить) значение select вход в textarea,

Например, у меня есть:

HTML

<textarea id="text"></textarea>
<select id="test">
    <option value="foo">Foo</option>
    <option value="bar">Bar</option>
</select>

Если я напишу "Stackru" в textareaтогда я выбираю Foo в select вход, textarea контент должен стать "Stackru foo".

Я пытался сделать следующее

Javascript

$("#text").val()

Но, похоже, он заменяет содержимое текстовой области вместо добавления значений.

6 ответов

Решение
$('#test').on('change',function(){
 var test = this;
 $('#text').val(function(_,v){
     return v + test.value;
 })
})

Просто получите текущее значение и добавьте к нему

$("#text").val($("#text").val() + "Foo");

или даже лучше использовать append()

$("#text").append("Foo");

$(document).ready(function(){
    $("#test").change(function(){
        var textAreaContent = $("#text").val();  //VALUE OF TEXTAREA
        var selectBoxVal = $(this).val();    //VALUE OF SELECT BOX
       $("#text").val(textAreaContent+" "+selectBoxVal);   //ADD THE VALUE INSIDE TEXTAREA
    });
});

Вы можете сделать это используя .val (function (index, value)):

$("#text").val(function (_, oldValue) {
    return oldValue + $('#test').val();
});

Попробуйте следующее, каждый раз значение select входные изменения, его выбранный текст опции добавляется к textarea:

JavaScript / JQuery

$('#test').change(function(){
    $('#text').val($('#text').val()+" "+$('#test option:selected').text());
});

Посмотреть это демо

Просто в onChange функция select box записывать

$('#text').val($('#text').val()+'Foo'); 
Другие вопросы по тегам