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

时间:2015-01-13 16:57:08

标签: jquery dynamic

我创建了从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());
    })

});

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您需要更新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;
    });
});