2011-02-04 84 views
1

我已經設置了與jQuery UI的嵌套拖放,但是,我想知道如何才能以創建新的子列表的方式拖動項目。例如。如果我將項目1.2.2拖到右側,它將在項目1.2.1下創建一個新的子級別。jQuery UI嵌套列表創建新的子列表

這是我的代碼:

<div id="mylist"> 
    <ul> 
     <li>Item #1</li> 
     <li>Item #2</li> 
     <ul> 
      <li>Item #1.1</li> 
      <li>Item #1.2</li> 
      <ul> 
       <li>Item #1.2.1</li> 
       <li>Item #1.2.2</li> 
       <li>Item #1.2.3</li> 
       <li>Item #1.2.4</li> 
      </ul> 
      <li>Item #1.3</li> 
      <li>Item #1.4</li> 
     </ul> 
     <li>Item #3</li> 
     <li>Item #4</li> 
    </ul> 
</div> 

$(document).ready(function() {  
    $("#mylist ul").sortable({ 
     items: "li", 
     connectWith: 'ul', 
    }); 
}); 

UPDATE:

其實。我的示例代碼無法正常工作。我只注意到,當我拖動一個父母時,應該拖動它的所有孩子以及它目前沒有的孩子。我喜歡它也能做到這一點。

回答

1

您需要嵌套的上行線路爲LIS,像這樣:

<div id="mylist"> 
<ul> 
    <li>Item #1</li> 
    <li>Item #2 
     <ul> 
      <li>Item #1.1</li> 
      <li>Item #1.2 
       <ul> 
        <li>Item #1.2.1</li> 
        <li>Item #1.2.2</li> 
        <li>Item #1.2.3</li> 
        <li>Item #1.2.4</li> 
       </ul> 
      </li> 
      <li>Item #1.3</li> 
      <li>Item #1.4</li> 
     </ul> 
    </li> 
    <li>Item #3</li> 
    <li>Item #4</li> 
</ul> 

嘗試活生生的例子:http://jsfiddle.net/pyEa4/ - 它的小馬車,但孩子的與父母拖累。

+0

它似乎是完成這個最簡單的方法。但是,目前我不確定嵌套UL是否是有效的XHTML。我會將您的答案標記爲正確的,因爲在問題的背景下它確實提供了正確的答案。 – Luke 2011-02-05 06:50:16