Сортируемый список Jquery не будет сериализован, почему?
-
12-09-2019 - |
Вопрос
Я реализую сортируемый список изображений с помощью jquery в приложении Zend Framework.Я просто не могу заставить метод .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);
}
});
});
Решение
http://api.jqueryui.com/sortable/#method-serialize
Если сериализация возвращает пустую строку, убедитесь, что атрибуты id содержат подчеркивание.Они должны быть в форме:«set_number» Например, список из 3 элементов с атрибутами id. фу_1, фу_5, фу_2 будет сериализован в foo[]=1&foo[]=5&foo[]=2.Для разделения набора и числа можно использовать знак подчеркивания, знак равенства или дефис.Например, foo=1, foo-1 или foo_1 все сериализуются в foo[]=1.
Другие советы
Jquery сталкивается с проблемами при использовании несовместимых идентификаторов.
Идентификаторы не могут начинаться с цифры.В них могут быть цифры, но не в качестве первого символа.
(обновление ссылки) привет, я наткнулся на аналогичную проблему несколько дней назад, хотя в моем случае было важно сохранить порядок элементов без изменений.Я закодировал небольшой плагин, который позволит вам сериализовать списки ul и ol произвольной глубины и сложности: