jQuery选项卡可排序和还原到选项卡

时间:2013-08-15 12:47:52

标签: jquery jquery-ui jquery-tabs jquery-ui-sortable

这个问题与我之前提到的问题有关(jQuery UI add Tabs with Drag e Drop

基本上,我遗漏的唯一两件事是我添加了一个新的标签,但是我决定将其删除但是将其放在某个不应该的位置(就像在另一个标签的顶部) )如何让标签恢复到原来的位置?我知道我必须在这里添加:

$('#tabsOptions ul').droppable({
drop: function (event, ui) {
    // Where the drop originates from
    if (ui.draggable.parent().attr("id") == "tabsList") {

        var expelledComponents = 
          $(ui.draggable.children("a").attr("href")).
               html().replace(emptyTab, "");

        $("#tabsComponentsList").append($(expelledComponents).html());

        $(ui.draggable.children("a").attr("href")).remove();

        $('#tabsOptions ul').append("<li>" + ui.draggable.text() + "</li>");

        $(ui.draggable).remove();

        //  Refreshes tabs - especially helpful when removing the first tab
        $('#tabs').tabs("refresh");

        $("#tabsComponentsList li").each(function (i, item) {
            $(item).attr("class", "selectable");
        });

        $("#tabsOptionsList li").each(function (i, item) {
            $(item).attr("class", "selectable");
        });
    }
}
});

另一件事是我无法弄清楚如何让标签再次排序?它早些时候工作,但我失去了它停止工作的轨道,我不知道为什么它不再工作。

任何帮助将不胜感激。提前谢谢。

以下是Fiddle

编辑:更新了小提琴。问题不在于首先删除和添加选项卡。我解决了这个问题,但现在我有一个唠叨的问题。一切都按照我想要的方式工作,但是当我拖动一个标签时,它在拖动过程中是不可见的。

当我在适当的区域释放时,它被正确删除。

任何人都知道如何在拖动过程中看到Tab?

(如果您查看小提琴和带注释的部分“//使标签可拖动但使标签不可移动”,如果您启用下一行,则在拖动期间可以看到该标签,但是标签不会排序)

1 个答案:

答案 0 :(得分:0)

当回退到$('#tabslList').droppable时,它似乎变成了伪标签,具有所有正确的属性,但没有REAL标签的属性。我不认为刷新会为你做那件事。您需要以某种方式将其重新附加到$('#tabs'),然后重新初始化.tabs()小部件。

相关问题