2

有关使以下选项元素可拖动的任何提示?

<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

4 回答 4

4

面对这个问题,为此写了一个小的jQuery插件。唯一的问题是 Internet Explorer (any) - 它不支持 <option> 元素上的任何事件。

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

于 2012-10-12T09:32:39.233 回答
3

恐怕这对于本机下拉框是不可能的。不同的浏览器可能以不同的方式创建select标签。例如,移动设备可能会用select标签做一些完全不同的事情。

div您也许应该考虑使用 jQuery 插件(或创建您自己的插件),它使用orli标记来制作下拉框。然后这些可以是可拖动的。

于 2012-06-18T15:36:10.980 回答
1

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

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

于 2012-06-18T15:36:56.747 回答
0

您不能select使用 jQuery 将选项设置为可拖动。

查看可拖动的文档以了解如何做想做的事情(尽管不使用该select框)

于 2012-06-18T15:35:45.720 回答