我正在使用将订单保存到数据库的可排序序列化,当我正在排序的列表更改(即拖动)时,它可以正常工作。但是我想在页面加载时自动序列化项目的顺序。
我正在使用以下内容对数据进行排序:
$(".menuSubSection_"+ <? echo $id; ?> +" ul.sortableSub").sortable({
connectWith: "ul.sortableSub",
placeholder: "ui-state-highlight",
update: function(){
$('#saved').html('ORDER CHANGED + SAVED');
$('#saved').fadeIn( function(){
$(this).delay(2000).fadeOut();
});
saveOrderSub('<? echo $id; ?>');
},
start: function(event, ui) {
$('ul.sortableSub').find('li:hidden').show();
}
});
});
以及将序列化存储到数据库的以下函数:
function saveOrderSub(menuid){
var order = $(".menuSubSection_"+ menuid +" ul.sortableSub").sortable("serialize"); //
$.post("../lib/saveOrderSub.php?menuID=" + menuid ,order,function(theResponse){
$('#saved').html(theResponse);
$('#saved').fadeIn( function(){
$(this).delay(2000).fadeOut();
});
//reloadMenu();
reloadMenuNav();
});
event.preventDefault();
}
我尝试将其添加saveOrderSub(menuid)
到标题部分,以便在加载时调用它,但是序列化和发布似乎不起作用。
谁能阐明我如何在不更改列表顺序来触发事件的情况下使此功能起作用?