JqueryUI可排序的加载使用顺序

时间:2018-05-07 12:16:07

标签: jquery jquery-ui-sortable

我有一个侧边菜单,我希望用户按照自己的喜好对菜单项进行排序。 如何在用户会话的页面加载中,从我的php发送信息的数据库中加载用户的自定义订单。 假设我使用.toArray的.toArray或.serialize方法在DB中保存了用户的订单 像这样

$("#sidr-id-mainList").sortable({
    stop: function (event, ui) {
        result = $("#sidr-id-mainList").sortable("toArray");
        $.ajax({
            url: "example.com/API/menu/list/save",
            type: "POST",
            xhrFields: {
                withCredentials: true
            },
            dataType: 'json',
            data: {
                Result: result
            }, error: function (XMLHttpRequest, textStatus, errorThrown) {
                console.log("XMLHttpRequest=" + XMLHttpRequest + "; textStatus=" + textStatus + "; errorThrown=" + errorThrown);
            }
        });
    }
});

1 个答案:

答案 0 :(得分:0)

你可以这样做:

var custumOrder = ["item4", "item2", "item1", "item3"];

var ul = $("#sortable");
var items = $("#sortable li");

for (item of custumOrder) {
    ul.append($('#' + item + ''));
}

$("#sortable").sortable({
    update: function() {
        var order = $(this).sortable('toArray');
        alert(order);
    }
});

Online demo (jsFiddle)