jQuery Sortable Недавно добавленные элементы не распознаются - PullRequest
0 голосов
/ 05 апреля 2011

Как работает сортируемый метод jQuery UI refresh . У меня есть несколько span тегов с P тегами внутри. Теги P можно сортировать из одного span в другой. Однако, когда я добавляю новый диапазон с тегами p внутри, новые теги P не распознаются. Предполагается, что метод обновления делает новые добавленные узнаваемыми. но это, похоже, не работает или не делает ничего. $('span').sortable('refresh').

Чек http://jsfiddle.net/ySP96/2/

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Я считаю, что проблема в том, что refresh ищет дочерние элементы только для контейнеров, которые вы уже инициализировали с .sortable().Вы добавляете оба дочерних элемента и контейнеры, поэтому вам нужно инициализировать эти новые контейнеры с .sortable() вместо использования .sortable('refresh').

$('#span').click(function() {
    var x = '<span><p>NEW Span</p></span>';
    $(x).appendTo('#form').sortable({connectWith: 'span'});
});

См. Обновленную демонстрацию:http://jsfiddle.net/ySP96/3/.

0 голосов
/ 31 октября 2012

Вы должны сделать это вручную, как показано ниже:

$("#MyList").sortable({
        update: function() {
            var postData = $(this).sortable("serialize");
            $.post("UpdateItemOrder.aspx", postData, function(theResponse) {
                $("#ResultsArea").html(theResponse);
            });
        },
        beforeStop: function(event, ui) {
            // Handle new items only
            if ($(ui.item).hasClass("new-item")) {
                // Refresh the list
                var postData = $("#MyList").sortable("serialize");
                    $.post("UpdateItemOrder.aspx", postData, function(theResponse) {
                        $("#ResultsArea").html(theResponse);
                    });
            }
        });
});
...