Функция сортировки при обновлении контента через ajax - PullRequest
5 голосов
/ 07 июля 2011

У меня есть список, который заполняется через ajax.В этом списке я могу добавлять и удалять элементы через ajax, а также сортировать их.У меня есть две проблемы с этим.

Первый здесь, и он все еще не решен: https://stackoverflow.com/questions/6370213/jquery-dynamic-dragn-drop-doesnt-update-order (после сортировки списка количество элементов, поступающих из базы данных, не будет обновляться, пока я не обновлю)

Второй хуже.После того, как я обновляю содержимое моего списка через ajax (скажем, я добавляю новый элемент), сортируемая функция перестает работать, пока я не перезагружу страницу.Кажется, .live не будет работать с сортируемым, и у меня нет идей с этимЯ добавлю немного своего кода:

Мой список выглядит следующим образом:

<ul id="listaruta">
   <li> ... </li>
</ul>

Мой скрипт для сортировки элементов:

    $(function() {
    $("ul#listaruta").sortable({ 
        opacity: 0.6, 
        cursor: 'move', 
        update: function() {
            var order = $(this).sortable("serialize") + '&action=updateRecordsListings'; 
            $.post("/plugins/drag/updateDB.php", order);                                                             
    }                                 
    });
});

Я использую этодля функции сортировки: http://www.webresourcesdepot.com/wp-content/uploads/file/jquerydragdrop/

1 Ответ

7 голосов
/ 11 июля 2011

Пройдя поиск намного больше, я нашел ответ: jQuery live and sortable

Вот что я добавил в свой код, чтобы он заработал:

    $(document).ajaxSuccess(function() {

    $("ul#listaruta").sortable({
        opacity: 0.6, 
        cursor: 'move', 
        update: function() {
            var order = $(this).sortable("serialize") + '&action=updateRecordsListings'; 
            $.post("/plugins/drag/updateDB.php", order);
        }
    });
});
...