2012-06-18 120 views
2

有關使以下選項元素可拖動的任何提示?jQuery可拖動選項元素

<select id="expenseSelect" multiple="multiple" style="height:200px"> 
    <option value="a">aaaaaaaa</option> 
    <option value="b">bbbbbbbb</option> 
    <option value="c">cccccccc</option> 
    <option value="d">dddddddd</option> 
    <option value="e">eeeeeeee</option> 
</select> 

下似乎並沒有工作

$(document).ready(function() { 
    $('#expenseSelect').children().draggable(); 
}); 

基本上,我在尋找一個列表框元素,用戶可以選擇1個或多個項目,並將其拖動到窗體。

回答

3

恐怕這是不可能與本地下拉框。不同的瀏覽器可能會以不同的方式創建select標籤。例如,移動設備可能會做一些與select標記完全不同的內容。

你也許應該看看使用jQuery插件(或創建你自己的),它使用divli標籤代替下拉框。這些可能是可拖動的。

+0

嗯......我想如果沒有插件,已經做到這一點建議編寫插件*僅*。它可以幫助您避免發明車輪。 jQuery UI處理這個很好! –

+0

我在使用'div'和'li'標籤時無法選擇多個對象。 – Max

+0

我喜歡插件,但只有當它們完美地工作!它更容易修復你自己的代碼中的錯誤;)大多數插件的功能遠遠超過你所需要的。我傾向於編寫自己的插件來完成簡單的任務。節省更多的時間在未來! – Connell

1

jQuery可拖動不會像這樣的下拉元素。我建議使用無序列表<ul>來顯示數據,因爲jQuery可以重新排序。

此外,您可能正在尋找「可排序」,因爲您要將新項目拖入列表中,而不是「可拖動」。看看這個例子的源代碼:http://jqueryui.com/demos/sortable/#connect-lists

4

面對這個問題,併爲此寫了一個小的jQuery插件。唯一的問題是Internet Explorer(任何) - 它不支持<選項>元素上的任何事件。

https://github.com/NikitaKA/jquery.dragOptions

+0

像冠軍一樣工作,謝謝我的朋友! – quickshiftin

+0

@quickshiftin我很高興3年後它很有用。 :) – NikitaK

+0

謝謝:)。像魅力一樣工作 – siddhu