更改表列顺序

Fra*_*ayx 25 javascript jquery html-table

我需要动态更改html/js表中列的顺序,你可以告诉我怎么做吗?

typ*_*eof 32

移动列并不难:

你可以使用这个功能:

jQuery.moveColumn = function (table, from, to) {
    var rows = jQuery('tr', table);
    var cols;
    rows.each(function() {
        cols = jQuery(this).children('th, td');
        cols.eq(from).detach().insertBefore(cols.eq(to));
    });
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它:

var tbl = jQuery('table');
jQuery.moveColumn(tbl, 2, 0);
Run Code Online (Sandbox Code Playgroud)

因此,通过了解列的索引以及您想要放置它的索引(从零开始),您可以移动列,包括列标题.

这是工作的jsfiddle:http://jsfiddle.net/Qsys7/1/


Mig*_*Mig 29

如果您只需要在没有任何花哨的拖放动画的情况下简单地移动列,则以下JS应该可以解决这个问题:

<script type="text/javascript">
    $(function() {
        jQuery.each($("table tr"), function() { 
            $(this).children(":eq(1)").after($(this).children(":eq(0)"));
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

根据需要更换数字.这个概念有效

似乎把它写成一个班轮是不可能的.包括选择器中的td,即使行选择器似乎将每个td保存在单独的索引上,忽略行.

一个jQuery网格插件应该可以做到这一点.虽然我没有这种插件的经验.