如何将订单列表添加到 jQuery Nestable JSON 序列化中


How to add order list into jQuery Nestable JSON serialize

我从 http://robertan.com/blog/?p=108 中使用了jQuery Nestable菜单

但是我想从 JSON 序列化进行增强

[{"id":1},{"id":2},{"id":3,"children":[{"id":4},{"id":5}]}]

成为

[{"id":1,"order":1},{"id":2,"order":2},{"id":3,"order":3,"children":[{"id":4,"order":1},{"id":5,"order":2}]}]

有什么建议吗?

我不太懂javascript,但是PHP还可以~

这给出了您的预期结果,找到内联注释以获取更多详细信息

<script>
$(document).ready(function(){
//create the json object
var menu = $.parseJSON('[{"id":1},{"id":2},{"id":3,"children":[{"id":4},{"id":5}]}]');
//final result variable menu
var final_menu = [];
//initial variable
var i = 1;
//process each element
$.each(menu, function(index, value){
//local variable
var item = {};
//type of validation
if(typeof(value.children) !== 'undefined')
{
    var j = 1;
    item['id'] = value.id;
    item['order'] = i;
    item['children'] = [];
    //process each children
    $.each(value.children, function(index1, value1){
        var child = {};
        child['id'] = value1.id;
        child['order'] = j;
        item['children'].push(child);
        j++; 
    });
}
else
{
    item['id'] = value.id;
    item['order'] = i; 
}
//create the final menu
final_menu.push(item);
i++;
});
console.log(final_menu);
});
</script>