【发布时间】:2012-06-07 15:37:56
【问题描述】:
我正在尝试让一组 jQuery 可排序对象的行为类似于带有 accept 选项集的可放置对象。基本上,我有一个搜索功能,它返回三种不同类型的产品(比如苹果、香蕉和柑橘类水果),然后可以将它们拖到用户创建的列表中(搜索结果是 jQuery 可拖动的并使用connectToSortable),并且产品可在这些列表内和这些列表之间进行排序。但我希望这些列表中的每一个都只接受一种类型的产品,理想情况下为用户提供视觉反馈,了解哪些列表可以接受当前被拖动的项目。一些示例代码:
<ul id="results">
<li class="banana">Plantain</li>
<li class="apple">Granny Smith</li>
<li class="citrus">Orange</li>
<li class="banana">Enset</li>
<li class="apple">Golden Delicious</li>
<li class="citrus">Lemon</li>
</ul>
<ul class="section banana"></ul>
<ul class="section apple"></ul>
<ul class="section banana"></ul>
<ul class="section citrus"></ul>
<ul class="section apple"></ul>
<ul class="section apple"></ul>
<ul class="section citrus"></ul>
<script type="text/javascript">
$("ul#results li").draggable({
helper: "clone",
connectToSortable: "ul.section"
});
$("ul.section").sortable({
connectWith: "ul.section"
});
</script>
在上面的示例中,我希望属于“apple”类的<ul>s 只接受也是“apple”等的<li>s,并且当“apple”被拖动或排序时,我想要要突出显示的“苹果”<ul>s。知道如何实现这一目标吗?
【问题讨论】:
标签: jquery jquery-ui jquery-ui-sortable jquery-ui-draggable