JQuery UI Sortable - 限制下降到某些元素
问题描述:
我有一些用户可以对li进行排序的ul。我有2种不同的li,需要限制他们可以放入哪个列表。这里是一个小例子:JQuery UI Sortable - 限制下降到某些元素
<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>
类型A永远只能出现在顶层,而且必须只能被丢弃到另一个顶级组。
TypeB可以出现在顶部或子级别,并且必须能够放入任一组。
此外,子ul组必须能够从一个顶层组丢弃。
使用下面的代码,我能够acheive点1和部分2点,但是当一个类型B已从子组进入前组它就可以永远不会回去:
$(function() {
$('.connectedSortable').sortable({
'items': '> li',
'connectWith': '.connectedSortable'
});
$('.subList').sortable({
'items': 'li',
'connectWith': '.connectedSortable'
});
});
任何帮助将不胜感激。
感谢
答
我不认为你可以只用配置表,因为一旦你移动A B项至顶层实现这个它要表现得像一个A项。我认为你将不得不在每个表上设置事件,比如'over'事件,并编写代码来检查被移动的项目是否属于这个列表。