jQuery:我正在尝试通过AJAX为jQuery.ui.sortable发送数据,但它不会发送所有内容

时间:2010-08-25 18:21:02

标签: jquery-ui jquery

我正在尝试构建一个像

这样的数组
[ 
  [num,
    [num, num num]],
  [num,
    [num, num]],
]

但我得到[num,num,num,num,num,num,num] =(

代码在这里:http://jsfiddle.net/WRppV/4/

问题是我正在尝试将var'x'作为数据发送到jQueryUI用于可排序的AJAX更新函数中。它需要是上面的数组结构。 = \

我正在使用http://jqueryui.com/demos/sortable/#connect-lists种排序。

所以,通常我只想$j(list selector).sortable('serialize')

但是因为我有两个列表,所以我尝试了这个$ j (selector1,selector2).sortable('serialize'),就像你在例子中对两个列表进行排序一样。但是当发出ajax请求时,它只发送更新的列表。如果我有大量的处理能力,哪个会好的。但是I need the list, and which list it belongs to.

真正有趣的是我的服务器说战争正在以

的形式发送
 "content"=>"215,207"

但这甚至不包括section_id 我应该得到类似的东西

["141", ["203", "206", "204", "205"],
 "142", ["215", "207"]]

(从我网页上的链接运行脚本时来自chrome的数字和结构)

我的可排序的js:

$j("<%= @sortable_contents %>").sortable({
    connectWith: '.section-content',
    axis: 'y',
    zIndex: 1003,
    cursor: 'crosshair',
    update: function(){
        d = $j("#sort_sections > li").map(function(index, element){
            return [element.id.replace(/[a-z]+_/,""), [
                $j(element).find("li.content").map(function(subindex, subelement){
                    return subelement.id.replace(/[a-z]+_/,"");
                }).get()]];
        }).get();
        alert(d)
              $j.ajax({
                type: 'post',
                data: {'content': d},//$j("<%= @sortable_contents %>").sortable('serialize'),//
                dataType: 'script',
                complete: function(request){
                  $j('#sort_contents').effect('highlight');
                  },
                url: '/contents/sort_contents'})
              }
});

1 个答案:

答案 0 :(得分:1)

这个嵌套的。请勿听alert,请尝试console.log

在chrome中,这会被记录为: alt text