2011-03-05 93 views
4

我试图实现一个简单的连接排序,其display可以由用户切换。Jquery UI Sortable +切换问题

$('#toggle').click(function(){ 
    $('#content').toggle(); 
}); 

$('#target').sortable(); 
$('#source div').draggable({ 
    connectToSortable: '#target', 
    helper: 'clone' 
}); 

我在这里遇到问题。如果可分类(目标)已折叠,并执行拖动操作,则排序将停止工作。

http://jsfiddle.net/9hGrs/12/

  1. 点击切换按钮,以从源头上任何项目隐藏排序
  2. 拖动到页面上的任何位置,然后将其释放(即该模拟无效的放置)
  3. 再次单击切换按钮以显示可排序
  4. 现在,当您尝试将源项目拖放到可排序项目中时,它不接受可拖动项目。

任何想法我在做什么错在这里?我会很感激任何帮助。谢谢!

+0

有趣的是我有它仅在是无效的放置的项目失败。 – stef 2011-03-05 09:25:21

回答

5

您需要使用的无效选项,并禁用和启用的目标时,你躲在:

$('#toggle').click(function(){ 
    if($('#content').is(":visible")) { 
     $("#target").sortable("option", "disabled", true); 
     $("#content").hide(); 
} else { 
     $("#target").sortable("option", "disabled", false); 
     $("#content").show();    
    } 

}); 

$('#target').sortable(); 
$('#source div').draggable({ 
    connectToSortable: '#target', 
    helper: 'clone', 
    revert: 'invalid' 
}); 

A modified JSFiddle showing this working

+0

太棒了!这就像一个魅力!更新小提琴:http://jsfiddle.net/TjNfD/1/ – lo5 2011-03-05 19:37:41