I am trying to create a re-ordering of the page drag and drop feature on my CMS. As some of the pages have sub pages, we have a lot of lists nested within lists. An example of the code:
$(document).ready(function(){ 
    $(function() {
            $('#contentLeft ul').sortable({ 
            update: function() {
                var order = $('#contentLeft ul').sortable('serialize');
                alert(order);
            }                                         
        });
    });
}); 
<div id="contentLeft">
<ul id="sitemap"> 
<li id="page_1" class="page_container"> 
Test
<ul>
<li id="page_20">Nested one</li>
<li id="page_30开发者_如何转开发">nested 2</li>
<li id="page_40"> Nested 6</li>
</ul>
</li> 
<li id="page_4" class="page_container"> 
Test
</li> 
<li id="page_5" class="page_container"> 
Test
</li> 
</ul>
</div>
In the above example, when I move things around and serialize the ul, i get the list of top level lists elements returned (page[]=1, page[]=4, page[]=5). What I need is for it to serialize ALL of the li tags, including the children li tags and get something like (page[]=1, page[]=20, page[]=30, page[]=40, page[]=4, page[]=5).
I have tried applying serialize quite simply to
but had no luck.
Could anyone point me in the right direcition?
Many Thanks
$(function() {
    $('#contentLeft ul').sortable({
        update: function() {
            var order3 = [];
            $('#contentLeft ul li').each(function(){
                order3.push($(this).attr('id').replace(/_/g, '[]='))
            });
            alert(order3.join('&'));
        }
    });
});
try here: http://jsfiddle.net/MXCZx/1/
Alternatively you could do like this:
// serialize input elements within a specific #id
$('#id :input').serialize();
// serialize a specific element in the form
$('input[name=inputName]').serialize();
have made for my self few days ago:
function serializeUL(ul){
    var children = {};
    $(ul).children().each(function(){
        var li = $(this),
            sub = li.children('ul');
        children[this.id] = sub.length > 0  ? serializeUL(sub) : null;
    })
    return children;
}
serializeUL('#sitemap') //will return you following JSON
{
   "page_1": {
        "page_20":null,
        "page_30":null,
        "page_40":null
   },
   "page_4":null,
   "page_5":null
} 
bit extended example of use:
http://jsfiddle.net/acrashik/E2Vte/8/
Use without form.
$(document).ready(function () {
//select html element
    $('li').click(function () {
        $(this).toggleClass('selected');
        if ($('li.selected').length == 0)
            $('.select').removeClass('selected');
        else
            $('.select').addClass('selected');
        counter();
    });
//ajax send id html element    
    $(document).on('click', 'li', function () {
        $(this).toggleClass("check");
        var form = document.querySelectorAll('li.selected'); //select the need classes
        var id = {};//empty array
        for (var i = 0; i < form.length; i++) {
            id[i] = form[i].id; //fill the array
        }
        $.ajax({
            url: "/site/search",
            type: 'post',
            dataType: "json",
            data: {"selected": id},
            success: function(data, response, textStatus, jqXHR) {
                console.log(data);
            }
        });
        return false;
    });
});
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论