Jquery可排序('序列化')

Kal*_*nGi 12 jquery serialization jquery-ui-sortable

是否可以通过直接调用serialize方法而不是使用回调来从jquery中的UL获取序列化的项目列表?代码段:

var sortableLinks = $("#category_links_list_3");
var linkOrderData = $(sortableLinks).sortable('serialize');
Run Code Online (Sandbox Code Playgroud)

category_links_list_3 是UL的id

DOM结构是:

<div class="hidden" id="inline_list_3">
    <ul class="category_links_list ui-sortable" id="category_links_list_3">
        <li class="link_title ui-state-default" id="category_link_8">Coconut Oil</li>
        <li class="link_title ui-state-default" id="category_link_9">Hempseed</li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

谢谢...

Kal*_*nGi 22

我终于得到了答案!在调用序列化方法之前,您需要先对UL进行排序:

var sortableLinks = $("#category_links_list_3");
$(sortableLinks).sortable();
var linkOrderData = $(sortableLinks).sortable('serialize');
Run Code Online (Sandbox Code Playgroud)

这次linkOrderData包含category_link [] = 8&category_link [] = 9


sik*_*der 18

如果serialize返回空字符串,请确保id属性包含下划线.他们必须是形式:"SET_NUMBER"例如,ID属性的3元素列表foo_1,foo_5,foo_2将序列化foo[]=1&foo[]=5&foo[]=2.您可以使用下划线,等号或连字符来分隔集合和数字.例如foo=1,foo-1或者foo_1全部序列化为foo[]=1.

以上是一个例子.我用过它.这就是我看到你的原因.

http://jqueryui.com/demos/sortable/#method-serialize

它会帮助你.