2010-08-17 32 views
2

拥有的麻烦稍有点......排序和拖动 - 取消,如果产品已经在排序

我可以投进一个排序列表可拖动的元素。理想情况下,我希望阻止可拖动事件在排序中创建占位符,如果排序已包含具有匹配的可拖动类名称的元素。

没有任何运气这么看着去除可拖动一旦使用被放置在排序列表:

beforeStop: function(event,ui) 
      { 
       var $this = ui.item; 
       var person = $this.attr('class').replace(/(.)*a\-(\d*)(.*)/i,'$2'); 
       if ($this.siblings('.a-'+person).length != 0) 
       { 
        $this.remove() 
       } 

Unfortunatley,使INTIAL拖动元素没有不再拖动(我可以wnat移动它变成另一个可排序的页面,所以不能有!),并不确定beforeStop选项是否最适合这个。

你可能会提供的任何帮助将非常感激。

回答

0

您可以使用“接受”选项来修改其拖动的元素可投放名单将接受:

http://jqueryui.com/demos/droppable/#accepted-elements

+0

不是真的在这里的问题 - 更多的,我可以指定在拖动的connectToSortable选项启动或能够删除插入到可排序列表中的元素,同时销毁最初的可拖动对象(如果我可以再次启用它,则可以应对该问题)... – 2010-08-17 17:47:21

+1

我看不出为什么这是公认的答案 - 尤其是因为问题是关于可排序的,而不是可丢弃的。 – NPC 2012-01-17 12:43:03