Вопрос о сортируемых элементах jquery

Учитывая следующую структуру, можно ли отсортировать div, содержащий сортируемый список? Я спрашиваю, потому что последняя версия jquery 1.3 не позволяет сортировать div. Есть ли какое-либо ограничение с jQuery, когда он не может сортировать родительские элементы, которые содержат уже сортируемый список, или это связано с тем, что родитель является элементом div, а не элементом LI? Любые идеи?

<div class="row">
<ul class="sortable">
<li>test1</li>
<li>test2</li>
</ul>
</div>
<div class="row">
<ul class="sortable">
<li>test1</li>
<li>test2</li>
</ul>
</div>
<div class="row">
<ul class="sortable">
<li>test1</li>
<li>test2</li>
</ul>
</div>

person IEnumerator    schedule 11.12.2009    source источник
comment
пожалуйста, уточните все номера ваших версий... Я думаю, у вас опечатка. последняя версия jq - 1.3.x, пользовательский интерфейс - 1.7... ваша версия # для другого плагина sortabel или версия из пользовательского интерфейса и какая версия пользовательского интерфейса и JQ.   -  person prodigitalson    schedule 12.12.2009
comment
спасибо, что заметили это. исправленный. Я использую сортируемый плагин, который загружается вместе с пользовательским интерфейсом.   -  person IEnumerator    schedule 12.12.2009
comment
Какой код вы используете, чтобы попытаться отсортировать их? $('div.row').sortable() ?   -  person Alex Sexton    schedule 12.12.2009
comment
да, я сделал вложенную сортировку с 1.3   -  person Funky Dude    schedule 12.12.2009


Ответы (1)


Я думаю, есть недоразумение

Эта команда

$('div.row').sortable()

фактически сделает ul в ваших div сортируемыми. Что не имеет смысла, так как в каждом div есть только один ul, и сортировка одного элемента не имеет смысла. (Демонстрационная страница: http://jsbin.com/ayiwu)


Если вы хотите отсортировать divs (не uls или lis), вы можете использовать эту строку

$("div.row").wrapAll("<div></div>").eq(0).parent().sortable();

Теперь сами div можно сортировать (демонстрационная страница: http://jsbin.com/upixa


Если вы хотите, чтобы divs и **li**s (а не uls, которые не имеют смысла, когда есть только один ul на div) можно было сортировать одновременно

$("div.row").wrapAll("<div></div>").eq(0).parent().sortable();
$("div.row").sortable({ items: "li" });

Демонстрационная страница: http://jsbin.com/ujatu

Если вы хотите что-то еще, пожалуйста, напишите комментарий

P.S.: Извините за ужасный CSS на демонстрационных страницах. Просто для ясности, чтобы вы могли видеть, на какой элемент вы нажимаете.

person jitter    schedule 12.12.2009