序列化jquery排序表

序列化jquery排序表,jquery,jquery-ui,serialization,portlet,Jquery,Jquery Ui,Serialization,Portlet,我已经在这个网站上搜索了一段时间,但我找不到解决问题的好方法。我希望能够在页面上保存jquery Portlet的状态。如果可以避免的话,我宁愿不要“保存状态”按钮 无论如何,我只是从他们的portlet示例中复制了jquery代码: $(function() { $(".column").sortable({ connectWith: '.column' }); $(".portlet").addClass("ui-widget ui-widget-c

我已经在这个网站上搜索了一段时间,但我找不到解决问题的好方法。我希望能够在页面上保存jquery Portlet的状态。如果可以避免的话,我宁愿不要“保存状态”按钮

无论如何,我只是从他们的portlet示例中复制了jquery代码:

$(function() {
    $(".column").sortable({
        connectWith: '.column'
    });

    $(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all")
        .find(".portlet-header")
            .addClass("ui-widget-header ui-corner-all")
            .prepend('<span class="ui-icon ui-icon-minusthick"></span>')
            .end()
        .find(".portlet-content");

    $(".portlet-header .ui-icon").click(function() {
        $(this).toggleClass("ui-icon-minusthick").toggleClass("ui-icon-plusthick");
        $(this).parents(".portlet:first").find(".portlet-content").toggle();
    });

    $(".column").disableSelection();
});

您的portlet是否具有id属性

如果serialize返回空字符串, 确保id属性包含 强调


您想使用sortable的.toArray()函数

从jquery可排序文档中:

托雷

签名: .可排序(“toArray”)

序列化可排序项的项id 转换为字符串数组。如果你有

<ul id="a_sortable"><br>
<li id="hello">Hello</li><br>
<li id="goodbye">Good bye</li><br>
</ul>
然后

结果[0]将包含“hello”和 结果[1]将包含“再见”


因此,为了能够保存状态,您必须对调用.sortable('toArray')的更改选项进行某种ajax调用,并且您将有一个很好的id数组。最后,我用以下代码解决了这个问题:

$(".column").each(function() {
alert($(this).sortable("toArray"));
});

它序列化了每一列,而不仅仅是第一列。

是的,我看到了。在我添加带下划线的ID后,它只返回[object]?您应该使用firefox和firebug,然后像这样将输出写入控制台:console.log(output);它会让你更好地了解你到底得到了什么。你能不能也显示标记,或者最好在JSFIDLE或jsbinI上重新创建标记?我无法实现“序列化”,所以我像这样使用了“toArray”,并将结果传递给我的控制器。耶!
var result = $('#a_sortable').sortable('toArray');
$(".column").each(function() {
alert($(this).sortable("toArray"));
});