1

我有一个具有固定标题的表,前 3 列是固定的。

http://jsfiddle.net/ncUdA/embedded/result/

我想拖放列(即)A、B、C、D、E、F 是应该启用可移动(拖放)的列。它下面的所有元素也应该移动到新位置。

http://jsfiddle.net/ncUdA/

我找到了一个插件,它可以满足我的需求,但我无法实现,因为在我的代码中使用了多个表来固定标题和固定 3 列。

http://johnny.github.com/jquery-sortable/#table

下面的代码是有关如何执行此操作的插件代码。

我正在使用车把进行模板。

    var oldIndex
    $('.sorted_head tr').sortable({
      containerSelector: 'tr',
      itemSelector: 'th',
      placeholder: '<th class="placeholder"/>',
      vertical: false,
      onDragStart: function (item, group, _super) {
        oldIndex = item.index()
        item.appendTo(item.parent())
        _super(item)
      },
      onDrop: function  (item, container, _super) {
        var field,
        newIndex = item.index()

        if(newIndex != oldIndex)
          item.closest('table').find('tbody tr').each(function (i, row) {
            row = $(row)
            field = row.children().eq(oldIndex)
            if(newIndex)
              field.before(row.children()[newIndex])
            else
              row.prepend(field)
          })

        _super(item)
      }
    })
4

1 回答 1

0

在谷歌搜索后找到使用拖放重新排序表列的解决方案。我发现 'akottr' 写了一个很棒的 jquery 插件。这里

它是一个独立于库的 js 函数,它使您能够通过使用拖放来重新排序表列。它非常易于使用。

$('#defaultTable').dragtable();

因此,我希望你能得到你想要的重新排序表。查看更多示例:http ://akottr.github.io/dragtable/

于 2015-07-02T10:13:11.720 回答