我正在尝试将HTML元素“附加”到textarea中。我想出了如何插入HTML元素:
见这里-------> jsFiddle< --------
但我无法弄清楚如何APPEND。
以下是代码:
HTML
<select id='sel' size='1'>
<option><></></option>
<option><p></p></option>
<option><div></p></option>
<option><a></a></option>
</select><br/><br/>
<textarea id='txtarea'></textarea>
的jQuery
$(document).ready(function() {
$('select').change(function() {
$('textarea').html($(this).val());
});
});
有没有人知道如何将HTML元素文本附加到textarea?我的意思是,如果你一直点击“&lt; p&gt;&lt; / p&gt;”它会继续插入另一个项目。
谢谢!
答案 0 :(得分:5)
在事件处理程序之外创建一个临时变量并继续追加该变量,然后使用变量值更新textarea,如下所示:
var tempValue = '';
http://jsfiddle.net/KyleMuir/vWFQQ/1/
您将遇到的问题是change()
不会为同一下拉列表选择多个选项,但是,此处的解决方案:https://stackoverflow.com/a/898761/2469255可能有用。
希望这有帮助
编辑:查看.selected()
扩展程序的this更新小提琴。
答案 1 :(得分:3)
试试这个
$(document).ready(function() {
$('select').change(function() {
var currentVal = $('textarea').val();
$('textarea').val(currentVal + $(this).val());
});
});
答案 2 :(得分:3)
我会将.append()与createtextnode
:
$('select').change(function() {
$('#txtarea').append(document.createTextNode($(this).val()));
})