jQuery UI Sortable - 连接项为空时connectWith困难

时间:2011-07-29 15:30:28

标签: jquery-ui jquery-ui-sortable

我在页面上有几个可排序的表格。他们中的大多数是连接的,但只有一个只能被拖出,但不能被拖出。我似乎无法将项目拖到其中一个空的表中。

这是一个jsFiddle:http://jsfiddle.net/jasonbutz/ZLzU3/2/

编辑:

此外,拥有隐藏的<tr>似乎没有任何帮助。

3 个答案:

答案 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/