【发布时间】:2020-07-02 09:36:51
【问题描述】:
我正在使用 jQuery UI 的 .sortable 功能。我有列表 a 和列表 b。我希望用户能够:
- 将项目从列表 a 拖动到列表 b,但不从列表 b 拖动到列表 a
- 对列表 b 中的项目进行排序,但在列表 a 中不是
我的代码只满足第一个要求。我无法停止对列表 a 中的项目进行排序。
虽然答案 https://stackoverflow.com/a/14442218/5798798 中的代码会自动反转列表中完成的任何排序,但它不会阻止在列表中进行排序(这正是我正在寻找的)。
$("#sortable").sortable({
connectWith: "#sortable2"
});
$("#sortable2").sortable({});
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>List A</p>
<div id="sortable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</div>
<p>List B</p>
<div id="sortable2">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</div>
JsFiddle:http://jsfiddle.net/g5nxjk0e/1/
请注意,可以将列表 a 拖入多个列表
【问题讨论】:
-
不要在列表 A 上使用 Sortable。在列表 A 上使用 Draggable。jqueryui.com/draggable/#sortable
标签: javascript jquery html jquery-ui jquery-ui-sortable