我有一个带有jquery ui选项卡的页面,每个选项卡都包含一个表。我已经将标签设置为可丢弃,表格设置为可排序。
我希望能够从活动选项卡内的表中拖动一行,将其放到另一个选项卡上,并将该行附加到该选项卡中包含的表中。
这是我的JS:
$("#tabs").tabs();
$("tbody").sortable({
items: "> tr:not(:first)",
appendTo: "parent",
helper: "clone"
}).disableSelection();
$("#tabs ul li a").droppable({
hoverClass: "drophover",
tolerance: "pointer",
drop: function(e, ui) {
var tabdiv = $(this).attr("href");
$(tabdiv + " table tr:last").after(ui.draggable);
ui.draggable.remove();
}
});
正如你在这里看到的
JSFiddle
,这些行是可拖动的,但将它们放到另一个选项卡上不会将其追加到其中的表中。
问题似乎是我试图使用ui.draggablejquery元素在选项卡表的最后一行后面追加:
$(tabdiv + " table tr:last").after(ui.draggable);
相反,如果我用
<tr>
标记并使用ui.draggable的html,如下所示:
$(tabdiv + " table tr:last").after("<tr>" + ui.draggable.html() + "</tr>");
那么它就如预期的那样工作了
JSFiddle
.
这样做的问题是,我丢失了附加到原始行的任何类或数据信息。
有人能告诉我如何追加被拖动的行元素吗?(顺便说一句,我是jquery的新手,如果这是一个初级的问题,我很抱歉。)