2012-08-02 53 views
0

我有三個連接的可排序列表,使用JqueryUI:list1,list 2和list 3.列表1中的特定項目的類別爲number。如果拖動這些number項目,那麼它們只能放入列表2中,但不能放入列表3中。如何找出我要放入哪個列表?如何找出我已將物品放入哪個UL?

$("#list1").sortable({ 
    start: function(event, ui) { 
     beforeStop: function (event, ui) { 
      if ($(ui.item).hasClass("number")) { 
       //Check which list is targeted 
       //If List 3 then 
       //$(List 3).sortable('cancel'); 
       //End If 
      } 
     } 
    } 
}); 

回答

0

您可以檢查更新事件中的項目。從jQuery文檔:

當用戶停止排序並且DOM位置已更改時,將觸發此事件。

這樣的事情可能會爲你工作:

update: function (e, ui) { 
    var target = ui.item; 
    var parent = item.closest('ul'); 
    if (parent.hasClass('thirdList')) { 
     // do stuff 
    } 
    else { 
     // do stuff 
     return false; 
    } 
} 

從我瞭解你的情況,我不認爲有必要檢查類number,因爲你可以允許排序只有類別爲number的物品。

編輯:

如果你不希望能夠拖到列表3,在所有的,你可以不讓它從頁面加載時排序並有其他列表排序:

$(function() { 
    $('#list1').sortable({ 
     items: '.number' 
    }); 
    $('#list2').sortable(); 
}); 
相關問題