以下是它的关键所在:我需要禁用/包含仅针对特定项目的两个可排序项之间的拖放,同时允许在可排序的项目中拖放相同的项目。我不知道如何使用cancel
或containment
执行此操作,因为它们适用于所有排序或所有项目。是否可以取消可排序的排序?或者是否只能包含某些项目?
以下是背景情况:我有两个使用connectWith
选项正常连接的可排序项。它们代表两列新闻稿,您可以向每列添加项目并将它们拖放到它们之间。但是,这些项目具有类型,并且每列中可以包含的每种类型的项目数量都有限制。所以问题是,如果另一列已经超出该类型的项目,我想禁用将项目从一列拖动到另一列。我可以确定何时在列中最大化项目类型或识别应该或不应该拖动哪些项目。这只是在jquery ui中触发正确功能的问题。
答案 0 :(得分:3)
- DEMO: http://jsbin.com/ipowo5
$(function() {
$( "#sortable1, #sortable2" ).sortable({
connectWith: ".connectedSortable",
receive: function(event, ui) {
if ( $(this).find('li').size() == 7 ) {
$(ui.sender).sortable('cancel');
}
}
});
});
如果#sortable
达到7件商品,则会停止接受其他商品