jQuery多个可排序表

时间:2015-07-23 14:44:54

标签: javascript jquery html jquery-ui

这个问题最好随着小提琴阅读;)。我在桌子里面摆了一张桌子。内部灰色表需要在自己的容器中排序。因此,灰色行只能在灰色表中移动。但白色的行需要随身携带灰色表格。所以你不能在那里移动白色行或灰色表,它们是连接的。

这是我现在所得到的小提琴:

fiddle

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)

我整天都在讨论这个问题,但我无法弄清楚如何将灰色的桌子变成白色的一排。

1 个答案:

答案 0 :(得分:0)

使用您当前的html结构,这很难实现。

首先,您需要两个sortables(一个用白色标题排序大块,另一个用灰色表排序)。

你希望能够移动大桌子里面的小桌子,但因为这些都是兄弟元素(tr),所以这是不可能的(所以我添加了多个<tbody>在那里)。

无论如何,这是工作小提琴:https://jsfiddle.net/9vmvjqm4/5/

您仍然需要排除thead可排序。我不喜欢CoffeeScript,所以我把它(添加items : ':not(thead)')留给了options(或者像那样,有关于如何在stackOverflow上执行此操作的主题)。

另外,请看一下:http://johnny.github.io/jquery-sortable/