2012-11-20 29 views
2

我想要列出3個列表中的列表A或列表B應該能夠移動到列表C但不能從列表B移動到列表A或相反亦然。如果來自列表C的項目最初來自列表A,則來自列表C的項目不應該移動到列表B中,如果來自列表B,則列表B中的項目也相同。在我嘗試解決這個問題時,列表A中的所有項目都有一個特定的類別和列表B中的項目另一個類。使用可排序如何禁止將特定類的項移動到特定列表

我到目前爲止的代碼是:

$(function() { 
    $("ul").sortable({ 
     connectWith: "ul", 
     beforeStop: function (ev, ui) { 
      if ($(ui.item).hasClass('ui-state-default') && $(ui.placeholder).parent()[0] == $HERE) { 
       $(this).sortable('cancel'); 
      } 
     } 
    }); 

我哪裏有「這裏」是我一直在試圖插入這樣的條件。目前,我只是試圖把限制放在一個清單上,因爲如果我能夠實現這個目標,第二個清單應該很容易。

回答

0

我認爲你應該使用可拖拽/可拖拽組合而不是可排序,因爲有很多你試圖利用的邏輯已經實現。因此,列表A和B將具有可拖動的元素並列出C可放置的元素。

該droppable有一個「接受」選項,您可以在其中爲元素設置一個CSS選擇器篩選器,該篩選器可以被刪除。

{ accept: ".only-these" } 
+0

謝謝我是jquery的新手,排序似乎是在開始時的最佳選擇,但會給這個嘗試。 – Mochyn

相關問題