这个问题最好随着小提琴阅读;)。我在桌子里面摆了一张桌子。内部灰色表需要在自己的容器中排序。因此,灰色行只能在灰色表中移动。但白色的行需要随身携带灰色表格。所以你不能在那里移动白色行或灰色表,它们是连接的。
这是我现在所得到的小提琴:
options = {
helper: (event, ui) ->
children = ui.children()
view = ui.clone()
view.children().each (index) ->
$(@).width(children.eq(index).width())
return view
}
$('#ccc').find('tbody').sortable(options)
我整天都在讨论这个问题,但我无法弄清楚如何将灰色的桌子变成白色的一排。
答案 0 :(得分:0)
使用您当前的html结构,这很难实现。
首先,您需要两个sortables(一个用白色标题排序大块,另一个用灰色表排序)。
你希望能够移动大桌子里面的小桌子,但因为这些都是兄弟元素(tr
),所以这是不可能的(所以我添加了多个<tbody>
在那里)。
无论如何,这是工作小提琴:https://jsfiddle.net/9vmvjqm4/5/
您仍然需要排除thead
可排序。我不喜欢CoffeeScript,所以我把它(添加items : ':not(thead)'
)留给了options
(或者像那样,有关于如何在stackOverflow上执行此操作的主题)。