Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Перемещение по многоуровневому списку с Sortable (https://javascript.ru/forum/jquery/78597-peremeshhenie-po-mnogourovnevomu-spisku-s-sortable.html)

J@ME 08.10.2019 14:51

Перемещение по многоуровневому списку с Sortable
 
Всем привет.

Есть многоуровневый список с n-вложенностью вида. Все элементы свернуты, разворачиваются по клику.
<ul class="main">
<li>
<ul class="internal">
<li><ul class="internal">
<li><ul class="internal"><li><ul class="internal">...</ul></li> ... </ul></li>
...
</ul></li>
<li><ul class="internal">...</ul></li>
<li><ul class="internal">...</ul></li>
...
</ul>
</li>
...
</ul>


И используется Sortable-взаимодействие вида:
$('ul').sortable({
        connectWith: 'ul.main*, ul.internal*, '
    });


Начиная с 3го уровня вложенности всё работает корректно: можно переместить в такие списки любой элемент с 1-го до n-уровня списка. Но в 1й уровень и 2й — перемещение не работает. Сортировка внутри списков работает на всех уровнях от 1го до n-го.

jQuery UI 1.11.4

рони 08.10.2019 15:12

Цитата:

Сообщение от J@ME
'ul.main*, ul.internal*, '

может
connectWith: 'ul.main, ul.internal'

J@ME 08.10.2019 15:21

Цитата:

Сообщение от рони (Сообщение 513694)
может
connectWith: 'ul.main, ul.internal'

Тот же результат. Это уже были поиски решения с *.

upd
Хотя не тот же. С самого начала так пробовал, но не потестировал, что частично работает.
Элементы уровней при перемещении из другого списка не "расходятся" для перемещения, и он падает куда-то в глубину на 4й уровень вложенности. Т.к. списки свернуты, то, видимо, он пытается "прыгнуть" внутрь свернутого списка.

Элементы начинают раздвигаться, если вести перемещаемым элементов по правому краю списка только.

J@ME 08.10.2019 16:14

Решилось привязкой к классу только открытых списков.

рони, спасибо. Подтолкнули ещё раз проверить самый очевидный вариант.


Часовой пояс GMT +3, время: 18:16.