代码之家  ›  专栏  ›  技术社区  ›  markus

jquery可排序列表不会序列化,为什么?

  •  38
  • markus  · 技术社区  · 15 年前

    我正在Zend框架应用程序中使用jquery实现一个可排序的图像列表。 我只是无法让.sortable(“serialize”)方法返回一个以上的空字符串。

    当我在我的应用程序之外尝试一些简单的例子时,它是有效的。

    下面的代码片段是否用各种其他标签和其他标签包装?我想不应该。乱序的名单应该通过身份证找到,对吗?

    HTML:

    <ul id="mylist">
        <li id="1">
            <div>
                <img src="image_1.jpg" />
                <p class="value_item">some text</p>
            </div>
        </li>
        <li id="2">
            <div>
                <img src="image_2.jpg" />
                <p class="value_item">some text</p>
            </div>
        </li>
    </ul>
    

    JavaScript:

    $(document).ready(function() {                 
        $('#mylist').sortable({ 
            update: function() {
                var order = $('#mylist').sortable('serialize');
                alert(order);
            }                         
        });
    });
    
    3 回复  |  直到 11 年前
        1
  •  97
  •   Luke Shaheen    11 年前

    http://api.jqueryui.com/sortable/#method-serialize

    如果serialize返回空字符串, 确保ID属性包含下划线 . 它们的格式必须为:“set_number”,例如,具有ID属性的3元素列表 foo_1、foo_5、foo_2 将序列化为foo[]=1&foo[]=5&foo[]=2。可以使用下划线、等号或连字符分隔集合和数字。例如,foo=1或foo-1或foo_1都序列化为foo[]=1。

        2
  •  8
  •   Lathan    15 年前

    jquery在使用不兼容的ID时会遇到问题。

    不允许ID以数字开头。它们可以包含数字,而不是作为第一个字符。

        3
  •  1
  •   DukeDrake    14 年前

    (链接更新) 嗨,几天前我偶然发现了一个类似的问题,不过在我的例子中,保持元素的顺序是很重要的。我编写了一个小插件,它允许您序列化任意深度和复杂性的ul和ol列表:

    serializeTree