我有一个表,表头固定,前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)
      }
    })

最佳答案

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

它是一个与库无关的js函数,使您能够通过使用拖放操作来对表列进行重新排序。它很容易使用。

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


因此,我希望您可以根据需要获得重新排序表。
查看更多示例:http://akottr.github.io/dragtable/

10-05 20:49
查看更多