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

我正在Zend Framework应用程序中实现带有jquery的图像的可排序列表。我只是无法让.sortable('serialize')方法返回超过一个空字符串。

当我在应用程序之外尝试一些简单的示例时,它可以工作。

下面的代码段是否包含在各种其他标记和其他标记中是否重要。我认为这不应该。无序列表应该只通过 id 找到,对吧?

网页:

<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);
        }                         
    });
});

答案 1

http://api.jqueryui.com/sortable/#method-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

Jquery 在使用不兼容的 id 时遇到问题。

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


推荐