jQuery draggable选项元素

时间:2012-06-18 15:34:05

标签: 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();
});

我基本上在寻找一个列表框元素,用户可以选择一个或多个项目并将它们拖到表单中。

4 个答案:

答案 0 :(得分:4)

面对这个问题,并为此编写了一个小的jQuery插件。唯一的问题是Internet Explorer(任何) - 它不支持&lt; option&gt;上的任何事件。元件。

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

答案 1 :(得分:3)

我担心使用原生下拉框无法做到这一点。不同的浏览器可能以不同的方式创建select标记。例如,移动设备可能与select标签完全不同。

您或许应该看一下使用jQuery插件(或创建自己的插件),然后使用divli标签创建一个下拉框。这些可以拖延。

答案 2 :(得分:1)

jQuery draggable不会像这样工作下拉元素。我建议使用无序列表<ul>来显示数据,因为jQuery可以重新排序这样的内容。

此外,您可能正在寻找“可排序”,因为您要将新项目拖动到列表中,而不是“可拖动”。查看此示例的源代码:http://jqueryui.com/demos/sortable/#connect-lists

答案 3 :(得分:0)

您无法使用jQuery将select选项设置为可拖动。

Look at the draggable Docs to see how you can do what you want to do(虽然没有使用select框)