2011-03-05 365 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