创建一个可排序列表的二维数组

时间:2013-09-15 04:22:12

标签: jquery arrays jquery-ui-sortable

我之前发布过一个问题See Here,几乎有一个我想发布的解决方案。

我已经设法通过使用以下方法来实现这一目标:

$(".todoList").sortable({
    update: function (event, ui) {
        if (this === ui.item.parent()[0]) {
            var numLists = $("ul.menu").length;
            for (var i = 1; i <= numLists; i++) {
                $.post("updateDB.php", {
                    pages: $("#menu-pages" + i).sortable('toArray'),
                    listid: i
                });
            }
        }
    },
    connectWith: ".connectedSortable"
});

但是,使用此解决方案,如果我有x个列表,它将查询DB x次数。在我发布答案之前,我想知道是否可以为每个'i'和$ .post创建一个数组的2D数组。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果我理解你,你可以尝试这样的事情:

$(".todoList").sortable({
    update: function (event, ui) {
        if (this === ui.item.parent()[0]) {
            var numLists = $("ul.menu").length;
            var pages = [];
            for (var i = 1; i <= numLists; i++) {
                //here is the edit
                pages.push($("#menu-pages" + i).sortable('toArray'));
            }
            $.post("updateDB.php", {
                pages: pages
            });
        }
    },
    connectWith: ".connectedSortable"
});

现在您需要更改updateDB.php,因为使用此版本代码传递的参数与以前不同。