2

我正在尝试将 HTML 元素“附加”到文本区域中。我想出了如何插入 HTML 元素:

看到这里-------> jsFiddle <--------

但我不知道如何追加。

无论如何,这是代码:

HTML

<select id='sel' size='1'>
  <option>&#60;&#62;&#60;&#47;&#62;</option>
  <option>&#60;p&#62;&#60;&#47;p&#62;</option>
  <option>&#60;div&#62;&#60;&#47;p&#62;</option>
  <option>&#60;a&#62;&#60;&#47;a&#62;</option>
  </select><br/><br/>
<textarea id='txtarea'></textarea>

jQuery

$(document).ready(function() {
  $('select').change(function() {
    $('textarea').html($(this).val());        
  });
});

有谁知道如何将 html 元素文本附加到文本区域?我的意思是,如果您继续单击“<p></p>”项目,它将继续在另一个之后插入。

谢谢!!

4

3 回答 3

5

在事件处理程序之外创建一个临时变量并继续附加,然后使用变量值更新 textarea,如下所示:

var tempValue = '';

http://jsfiddle.net/KyleMuir/vWFQQ/1/

您将遇到的问题是change()不会为同一个下拉菜单选择多个选择,但是,这里的解决方案:https ://stackoverflow.com/a/898761/2469255可能有用.. .

希望这可以帮助

编辑:请参阅更新的小提琴以获取.selected()扩展名。

于 2013-07-14T02:25:44.650 回答
3

试试这个

$(document).ready(function() {
    $('select').change(function() {
        var currentVal = $('textarea').val();
        $('textarea').val(currentVal + $(this).val());    
    });
});

演示

于 2013-07-14T02:21:39.710 回答
3

我会使用.append ()createtextnode

$('select').change(function() {
    $('#txtarea').append(document.createTextNode($(this).val()));   
})
于 2013-07-14T02:34:47.957 回答