2012-10-01 446 views
4

我有一個基於jQuery的兩份名單,樣品爲here我需要完全一樣的功能,但與slightchanges喜歡如下:拖放使用jquery

按上述當我Get items點擊我得到的所有排序項目的價值,但我想要的是從列表A拖放到列表B,反之亦然,如果我點擊獲取項目,我應該只得到列表B上的可排序項目而不是列表A.

如何做到這一點,我們可以自定義上面的jQuery lib或者是否有其他任何其他的,即使它們在java腳本中對我來說也是很好的。

請幫忙。

回答

3

我做過類似的東西,在過去,我這是怎麼實現的吧:http://jsfiddle.net/dazefs/vGYVX/

<div style="background-color:Gray"> 

<ul id="sortable"> 
    <li> 
     <span style="background-color:yellow"> 
     Item 1 
     </span> 

    </li> 
    <li> 
    <span style="background-color:red"> 
     Item 2 
    </span> 

    </li> 
    <li> 
     <span style="background-color:green"> 
    Item 3 
    </span> 

    </li> 
    <li> 
    <span style="background-color:Blue"> 
      Item 4 
    </span> 
    </li> 
    </ul> 

<ul id="sortable2" style="width:60%"> 
<li> 
    <span style="background-color:yellow"> 
     Item 5 
    </span> 
</li> 
    <li> 
    <span style="background-color:red"> 
     Item 6 
    </span> 
</li> 
    <li> 
    <span style="background-color:green"> 
     Item 7 
    </span> 
    </li> 
    <li> 
     <span style="background-color:Blue"> 
      Item 8 
     </span> 
    </li> 
</ul> 

</div> 

$(function() { 
    $("#sortable, #sortable2").sortable({ 
     connectWith: "#sortable2, #sortable", 
     receive: function (event, ui) { 
      alert('item has been sorted'); 
     } 
    }); 

    //}) 
}); 

爲了實現用3個組:

http://jsfiddle.net/dazefs/XRdz6/

http://jsfiddle.net/dazefs/vGYVX/

您必須稍微修改此實現,以便在單擊「GetItems」後合併獲取項目。

+0

感謝您的帖子,這是我想要的,但如何獲得從列表A移動到列表B(僅列表B)的項目? –

+0

@Anto - 你將不得不保存可移動項目的集合,這可以使用數組來處理。然後在可排序接收函數中,您可以檢查所選項目是否可以移動,如果不顯示錯誤。 –

+1

沒有限制從一個列表或另一個列表中拖拽一個項目,'最後當用戶點擊保存(獲取項目)時,我必須保存列表B中的所有項目(從列表A中移出),作爲你有沒有給出''span'的樣本,我們可以給出跨度的id和值嗎?請給我提供樣本。請不要介意 –