У меня была похожая проблема с приложением перетаскивания, которое я писал.Проблема, с которой я столкнулся, заключалась в том, что у меня было, скажем, 3 сортируемых списка вроде этого:
<ul class="apple"> <!-- accepts apples -->
</ul>
<ul class="apple orange"> <!-- accepts apples and oranges -->
</ul>
<ul class="orange banana"> <!-- accepts oranges and bananas -->
</ul>
Затем у меня был еще один основной список с яблоками, апельсинами и бананами, которые можно было перетащить в эти списки.Очевидно, что проблема заключалась в том, чтобы ограничить перетаскиваемые объекты, чтобы их нельзя было поместить в несовместимые списки.
Мне нужно было использовать опцию connectToSortable на перетаскиваемых объектах, чтобы указать, в какие списки они могут быть помещены.Так что я могу определить мои перетаскиваемые объекты следующим образом:
<li class="drag-apple">...</li>
<li class="drag-orange">...</li>
<li class="drag-banana">...</li>
$(li.drag-apple).draggable({ connectToSortable: '.apple', ... });
$(li.drag-orange).draggable({ connectToSortable: '.orange', ... });
$(li.drag-banana).draggable({ connectToSortable: '.banana', ... });
С этим на месте перетаскиваемые объекты будут нацеливаться только на соответствующие списки.
В вашем случае, я не уверен, что вложенныесортировка создает дополнительную сложность.Тем не менее, есть вложенный плагин sortables, который вы можете посмотреть ( nested Sortable ).Надеюсь, что подобные методы будут работать там.