Jquery 可排序(';toArray';)或可排序(';序列化';)

Jquery 可排序(';toArray';)或可排序(';序列化';),jquery,jquery-ui,Jquery,Jquery Ui,我读了一些关于Stackoverflow的问题,建议使用serialize()和toArray with sortable()来准备数据以插入数据库。但是,当我试图将它们传递给sortable('toArray')或sortable('serialize')时,它会破坏代码,即列表不再可排序。这是一把小提琴 有人知道我做错了什么吗 <ul id="sortlist"> <li id="Vancouver">Vancouver</li>

我读了一些关于Stackoverflow的问题,建议使用serialize()和toArray with sortable()来准备数据以插入数据库。但是,当我试图将它们传递给sortable('toArray')或sortable('serialize')时,它会破坏代码,即列表不再可排序。这是一把小提琴

有人知道我做错了什么吗

<ul id="sortlist">
        <li id="Vancouver">Vancouver</li>
        <li id="Toronto">Toronto</li>
        <li id="Montreal">Montreal</li>
        <li id="Ottawa">Ottawa</li>
        <li id="Calgary">Calgary</li>
        <li id="Edmonton">Edmonton</li>
        <li id="Winnipeg">Winnipeg</li>
     </ul>​
这就是如何做到的

$("#sortlist").sortable({stop: function(event, ui) {
    result = $("#sortlist").sortable("toArray");
     alert(result.length);

}});
将李的身份证从“多伦多”改为“多伦多市”,等等


(分叉进入)

首先,您应该初始化排序表

$('#sortlist').sortable();
然后调用序列化

var result = $('#sortlist').sortable("toArray");
alert(result);

考虑使用
update
事件而不是
stop
来减少开销——如果订单没有更改,您可能不关心该事件。
var result = $('#sortlist').sortable().sortable("serialize");
$('#sortlist').sortable();
var result = $('#sortlist').sortable("toArray");
alert(result);