关于这个主题的文档非常清楚:http://jqueryui.com/sortable/#connect-lists-through-tabs
我尝试在我的项目中做同样的事情,但是我不能让元素从一个选项卡移动到另一个选项卡。有时什么都不发生,有时项目从当前列表中消失(显示:无),也没有其他任何事情.
我把小提琴放在一起演示我所看到的。
也许我只是看不到我犯的小错误:
http://jsfiddle.net/46zqm/1/
$(".word-list").sortable({
tolerance: 'pointer',
cursor: 'move',
forcePlaceholderSize: true,
dropOnEmpty: true,
connectWith: 'ol.word-list',
placeholder: "ui-state-highlight"
}).disableSelection();
// Words tabs
var $tabs = $("#tabs").tabs();
// Make tab names dropable
var $tab_items = $("#tabs-nav li", $tabs).droppable({
accept: ".word-list li",
hoverClass: "ui-state-hover",
tolerance: 'pointer',
drop: function (event, ui) {
var $item = $(this);
var $list = $($item.find("a").attr("href")).find(".word-list");
ui.draggable.hide("fast", function () {
$tabs.tabs("option", "active", $tab_items.index($item));
$(this).appendTo($list).show("slow");
});
}
});增加公差:指针固定在悬垂和下降区域的不一致。但总体问题依然存在。
发布于 2013-10-28 14:41:09
我已经从JQuery可排序文档复制了推荐的HTML。试试下面的HTML。
我用id‘tab’将所有选项卡包装在一个DIV中,现在所有的“word-list”类都用不同的选项卡ID包装在DIV中,我还将所有<ol>元素更改为<ul>。
<section class="userview-right" id="tabs">
<h1>Words</h1>
<div id="tabs">
<ul id="tabs-nav">
<li><a href="#tabs-1">list 1</a></li>
<li><a href="#tabs-2">list 2</a></li>
<li><a href="#tabs-3">Deleted</a></li>
</ul>
<div id="tabs-1">
<ul class="word-list">
<li class="ui-state-default">
list 1
</li>
</ul>
</div>
<div id="tabs-2">
<ul class="word-list">
<li class="ui-state-default">
list 2
</li>
</ul>
</div>
<div id="tabs-3">
<ul class="word-list">
<li class="ui-state-default">
deleted
</li>
</ul>
</div>
</div>
</section>这是JsFiddle。
发布于 2013-10-28 14:52:46
杰米的回答让我找到了我自己的解决方案:
var $list = $($item.find("a").attr("href"));而不是:
var $list = $($item.find("a").attr("href")).find(".word-list");不改变标记!
https://stackoverflow.com/questions/19637425
复制相似问题