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