我在页面上有几个可排序的表格。他们中的大多数是连接的,但只有一个只能被拖出,但不能被拖出。我似乎无法将项目拖到其中一个空的表中。
这是一个jsFiddle:http://jsfiddle.net/jasonbutz/ZLzU3/2/
编辑:
此外,拥有隐藏的<tr>
似乎没有任何帮助。
答案 0 :(得分:7)
当使用可排序表的主体与连接列表/表时,Jquery UI可排序似乎有问题。实现这一目标的另一种方法是将表本身设置为items
可排序的可排序和集合的容器,在这种情况下,我们只需要tr
中的tbody
而不是在thead
。以下是工作示例:http://jsfiddle.net/ZLzU3/62/
答案 1 :(得分:0)
Xnake的回答解决了一个问题(并且非常感谢他),但是创造了一个问题:如果你在两个有内容的桌子之间移动物品,那么你移动的物品将永远结束您添加它的表的底部。如果这是您正在寻找的行为,那很好,但如果没有,您需要更换他的接收处理程序:
function(e, ui)
{
$(this).find("tbody").append(ui.item);
}
使用:
function(e, ui)
{
var collection = $(this).find("tbody tr");
if(collection.length < 1)
{
$(this).find("tbody").append(inserted);
}
else
{
$(ui.placeholder).replaceWith(inserted);
}
}
保留了空表的杀错行为,但在表有项目时保留了小部件的默认行为。
可能有更好的方法来做到这一点;我一直无法找到任何令人满意的方式来调用覆盖中的默认功能,这将是理想的。
答案 2 :(得分:0)
我在聚会上有点晚了,但就我而言,我没有表头,这对我来说是一个问题。另外,我已经用两种方式实现了这一点。我是这样做的,并为我工作:
https://devstuffs.wordpress.com/2015/07/31/jquery-ui-sortable-with-connected-tables-and-empty-rows/