我正在尝试从下拉列表(#note_text
)在文本区域(#note_template
)中插入内容。用户应该能够使用键盘在文本区域之间插入多个项目。类似于从要放入消息中的表情符号集合中进行选择。
以关注方式完成后,文本区域可以在输入后接收项目。
function update1() {
$txt = $("#note_text").val() + $("#note_template option:selected").val() ;
$("#note_text").val($txt);
$("#note_template").val("");
}
但是,当按以下方式完成时,文本区域的内容在键入后不会更新。只有在输入之前,我才能从下拉列表中插入项目。
function noteTempalteSelected() {
$("#note_text").append( $("#note_template option:selected").val() );
$("#note_template").val("");
}
因此似乎使用append
会导致文本区域冻结。 有人可以解释原因吗?谢谢。
答案 0 :(得分:1)
好的我想我知道这里发生了什么。为了使append正常工作,该元素应该在jquery中具有innerHTML属性或html()。 Textarea就像输入一样有val()属性。所以为了正常工作你应该试试这个:
$('#note_template').on('click', 'option:selected', function(e){
var txtArea = $('#note_text');
txtArea.val(txtArea.val() + $(this).val());
$(this).val('');
});