我有一些用户可以对其进行排序的ul。我有两种不同类型的li,需要限制它们可以放入哪个列表。这是一个小例子:
<ul class="top">
<li class=typeA">Item</li>
<li class=typeA">Item</li>
<li class=typeB">Item</li>
<ul class="sub">
<li class=typeB">Item</li>
<li class=typeB">Item</li>
<li class=typeB">Item</li>
</ul>
</ul>
<ul class="top">
<li class=typeA">Item</li>
<li class=typeA">Item</li>
<li class=typeA">Item</li>
</ul>
TypeA只能出现在顶层,并且必须只能被放入另一个顶级组。
TypeB可以显示在顶级或子级别,并且必须能够放入任一组。
此外,子ul组必须能够从一个顶级组删除到另一个顶级组。
使用以下代码,我能够实现第1点,部分第2点,但是当TypeB从子组移动到顶级组时,它可以永远不会返回:
$(function() {
$('.connectedSortable').sortable({
'items': '> li',
'connectWith': '.connectedSortable'
});
$('.subList').sortable({
'items': 'li',
'connectWith': '.connectedSortable'
});
});
非常感谢任何帮助。
由于
答案 0 :(得分:0)
我认为只要配置一个表就不能实现这一点,因为一旦将B项移到顶层,它就会像A项一样运行。我认为你将不得不在每个表上设置事件,例如'over'事件,并编写代码以检查被移动的项目是否属于此列表。