通过ajax更新内容时的可排序功能

时间:2011-07-07 09:22:45

标签: jquery ajax jquery-ui-sortable

我有一个通过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 个答案:

答案 0 :(得分:7)

经过搜索后,我发现这是我的答案: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);
        }
    });
});
相关问题