如何将select
输入的值添加(而不是替换)到 a textarea
。
例如,我有:
<textarea id="text"></textarea>
<select id="test">
<option value="foo">Foo</option>
<option value="bar">Bar</option>
</select>
如果我在textarea
中写“Stackoverflow”,那么我在select
输入中选择 Foo ,textarea
内容应该成为“Stackoverflow foo”。
我尝试过以下
$("#text").val()
但它似乎取代了textarea的内容而不是添加值。
答案 0 :(得分:2)
获取当前值并添加到其中
$("#text").val($("#text").val() + "Foo");
或更好使用append()
$("#text").append("Foo");
答案 1 :(得分:2)
$('#test').on('change',function(){
var test = this;
$('#text').val(function(_,v){
return v + test.value;
})
})
答案 2 :(得分:1)
您可以使用.val( function(index, value) )执行此操作:
$("#text").val(function (_, oldValue) {
return oldValue + $('#test').val();
});
答案 3 :(得分:1)
尝试以下操作,每当select
输入值更改时,其选定的选项文字就会添加到textarea
:
$('#test').change(function(){
$('#text').val($('#text').val()+" "+$('#test option:selected').text());
});
答案 4 :(得分: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
});
});
答案 5 :(得分:0)
只需onChange
函数select box
写
$('#text').val($('#text').val()+'Foo');