2

如何将输入的值添加(而不是替换.selecttextarea

例如,我有:

HTML

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

如果我在 中写“ Stackoverflow” ,那么我在输入中textarea选择Foo ,内容应该变成“Stackoverflow foo”selecttextarea

我尝试执行以下操作

Javascript

$("#text").val()

但它似乎替换了 textarea 的内容而不是添加值。

4

6 回答 6

2

只需获取当前值并添加到它

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

甚至更好的使用append()

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

于 2013-06-11T12:39:15.517 回答
2
$('#test').on('change',function(){
 var test = this;
 $('#text').val(function(_,v){
     return v + test.value;
 })
})
于 2013-06-11T12:40:09.453 回答
1
$(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
    });
});
于 2013-06-11T12:48:55.523 回答
1

您可以使用.val( function(index, value) )执行此操作:

$("#text").val(function (_, oldValue) {
    return oldValue + $('#test').val();
});
于 2013-06-11T12:39:54.147 回答
1

尝试以下操作,每次select输入的值更改时,其选定的选项文本都会添加到textarea

JavaScript/jQuery

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

看这个演示

于 2013-06-11T12:40:22.830 回答
0

简单的写onChange函数select box

$('#text').val($('#text').val()+'Foo'); 
于 2013-06-11T12:39:32.743 回答