Jquery 将动态数据追加到textarea(手动编辑textarea后脚本停止工作)

Jquery 将动态数据追加到textarea(手动编辑textarea后脚本停止工作),jquery,dynamic,Jquery,Dynamic,我已经创建了一个脚本,它可以从json动态创建列表。我制作了一个点击处理程序,它获取list元素的值并将其附加到textarea 如果我没有手动编辑textarea,这就可以了。如果我这样做,数据将不再附加到textarea。请参见示例 /*作者删除的url*/ $(document).ready(function() { // getting snippets $.getJSON('assets/snippets/default.json', function(data) {

我已经创建了一个脚本,它可以从json动态创建列表。我制作了一个点击处理程序,它获取list元素的值并将其附加到textarea

如果我没有手动编辑textarea,这就可以了。如果我这样做,数据将不再附加到textarea。请参见示例

/*作者删除的url*/

$(document).ready(function() {

    // getting snippets
    $.getJSON('assets/snippets/default.json', function(data) {  
        $.each(data, function(key, val) {
            $('.snippets-list').append(
                '<li><a class="snippet" href="#">' + val + '</a></li>'
            );

            console.log(key + "value: " + val);
        });
    });

    // adding snippet to composed text
    $('.snippets-list').on('click', '.snippet', function(event) {
        event.preventDefault();
        console.log('I have been clicked.');
        $('.composed-text').append($(this).html());
    })

});
$(文档).ready(函数(){
//获取片段
$.getJSON('assets/snippets/default.json',函数(数据){
$。每个(数据、函数(键、值){
$('.snippets list')。追加(
“
  • ” ); 控制台日志(键+“值:”+val); }); }); //向合成文本中添加代码段 $('.snippets list')。在('click','.snippet',函数(事件){ event.preventDefault(); log('我已被单击'); $('.compositext').append($(this.html()); }) });

    任何帮助都将不胜感激。

    您需要更新textarea值,例如:

    $('.snippets-list').on('click', '.snippet', function (event) {
        event.preventDefault();
        console.log('I have been clicked.');
        var txt = $.trim($(this).html());
        $('.composed-text').val(function () {
            return this.value + txt;
        });
    });
    

    谢谢你的评论。附加方法的工作原理和你的命题不一样吗?不,它的工作原理不一样
    append()
    更新innerHTML属性,而
    val()
    更新value属性,如果这是您的问题?!