2015-09-15 116 views
1

我使用這個插件:http://johnny.github.io/jquery-sortable/jQuery的嵌套可排序MAXDEPTH選項

(。這不是jQueryUI的可排序的這一個是嵌套)

Here's a demo

我試着這樣做:

菜單應該只允許根目錄中的文件夾。

它不應該允許在另一個文件夾中拖動文件夾。

不幸的是,這個插件沒有maxLevel或Depth選項。

我到目前爲止所做的是使用isValidTarget函數返回true或false。如果拖動的項目是一個.folder.placeholder.folder裏面我返回false,它幾乎工程,但問題是,返回false,所以再次回到真正的刪除佔位符......(所以它閃爍)

if($item.hasClass('folder') && $('.placeholder').parent().parent('li').hasClass('folder')){ 
    return false 
}else{ 
    return true 
} 

有什麼建議嗎?謝謝!

+0

這裏有一些解決方案可以幫助:http://stackoverflow.com/questions/6447305/nested-sortable-elements-lock-depth –

+0

謝謝,但它沒有任何與 – Miro

回答

1

修正了它。

演示:http://jsfiddle.net/mirohristov/kk8k2z8w/1/

防止拖動子菜單到另一個子菜單。

menu.sortable({ 
isValidTarget: function ($item, container) { 
    return !(container.el.parent('li').hasClass('folder') && $item.hasClass('folder')); 
} 
});