Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Jquery序列化多个列表_Jquery_Jquery Ui_Multidimensional Array_Serialization - Fatal编程技术网

如何使用Jquery序列化多个列表

如何使用Jquery序列化多个列表,jquery,jquery-ui,multidimensional-array,serialization,Jquery,Jquery Ui,Multidimensional Array,Serialization,我有3个可排序的UL和一个简单的jquery/javascript <ul class="sortable" id="menu1"> <li id="id_1">whatever</li> <li id="id_2">you</li> </ul> <ul class="sortable" id="menu2"> <li id="id_3">wanne</li> <li

我有3个可排序的UL和一个简单的jquery/javascript

<ul class="sortable" id="menu1">
  <li id="id_1">whatever</li>
  <li id="id_2">you</li>
</ul>
<ul class="sortable" id="menu2">
  <li id="id_3">wanne</li>
  <li id="id_4">put</li>
</ul>
<ul class="sortable" id="menu3">
  <li id="id_5">in</li>
  <li id="id_6">here</li>
</ul>
    不管怎样
    wanne
  • put
    中的
  • 这里
$(函数(){
$(“ul.可排序”)。可排序({
连接到:“ul”
});
});
李的可在UL的之间拖动 我如何序列化它以获得示例menu1[0]=1和menu1[1]=3
或和数组或任何我可以用来保存状态的东西?

已更新

演示:

在您的情况下,请使用:

$(function() {
    $("ul.sortable").sortable({
        connectWith: '.sortable',
        update: function(event, ui) {
        var position = $('.sortable').serial();
        alert( position );
        }
    });
});
//此函数使ulli成为序列化对象

(function($) {
    $.fn.serial = function() {
        var array = [];
        var $elem = $(this);
        $elem.each(function(i) {
            var menu = this.id;
            $('li', this).each(function(e) {
                array.push(menu + '[' + e + ']=' + this.id);
            });
        });
        return array.join('&');
    }
})(jQuery);
这给了你这样的东西:

menu1[0]=id_1&menu1[1]=id_2&menu2[0]=id_4&menu2[1]=id_6&menu3[0]=id_5&menu3[1]=id_3

表示每个元素的位置顺序,使其与另一个线程一起工作:


Idd,到目前为止,我是,但问题是,我需要知道他们在哪个菜单,所以一个订单是不够的。
menu1[0]=id_1&menu1[1]=id_2&menu2[0]=id_4&menu2[1]=id_6&menu3[0]=id_5&menu3[1]=id_3
 $(function() {
 $(".sortable").sortable(
{
    connectWith: 'ul',
    stop : function () 
    { 
        $.ajax(
        {
            type: "POST",
            url: "update.php",
            data: 
            {
                sort1:$("#menu1").sortable('serialize'),
        sort2:$("#menu2").sortable('serialize'),
                sort3:$("#menu3").sortable('serialize')
            },
            success: function(html)
            {

                alert(html);

            }
        });
    } 
}).disableSelection();
});