1

我是法国人,所以请不要害怕我的句子错误。

我正在尝试对包含带有 rowspan 的单元格的选项卡进行排序:

但是对于数据表或表排序器,我不知道是否可能。你知道我怎么能用tablesorter ou datatables做到这一点吗?你知道另一个可以做到这一点的插件吗?谢谢。

4

4 回答 4

1

你可以使用这个插件: 1. http://tinysort.sjeiti.com/

于 2013-04-25T12:32:27.810 回答
1

我最终修改了这个实现:

https://github.com/Mottie/tablesorter/issues/806

  $('#results-table').bind("sortEnd updateComplete",function(e, table) {
    $(table).find("[data-row]").each(function(idx, parent){
        var $parent = $(parent);
        var $rows = $(table).find('[data-parent="'+$parent.data('row')+'"]');

        $rows.after($parent);
        $rows.show();
    });
});

我将data-parent属性设为父 tr 的数据属性。然后是我给data-rowattr 的子行。

这保留了组内的顺序,并且仅按组中的第一行进行分组。

例如看这个小提琴:http: //jsfiddle.net/djhqmt92/

于 2016-03-20T20:15:43.657 回答
0

要添加到 Aju M T 的答案,我必须做一个表,其中行跨度位于第一个 TD 上,因此此修复程序不适用于这样的表:

http://jsfiddle.net/S4872/

它有助于在表格前面添加一个虚拟 TD 并添加 CSS

dummy-tab {
   display: none;
}

像这样:

http://jsfiddle.net/S4872/2/

于 2014-06-02T08:22:25.300 回答
0

“jQuery tablesorter - 标题中的行跨度导致奇怪的行为”

当我用 tablesorter 面对它时,我自己发现了这个问题,当然是通过谷歌搜索。现在它运行良好。

        var headers = {};
headers[0]={ sorter: false };
var tds={}
  $('table').tablesorter({
    headers: headers
  });
    $("table").bind("sortStart",function() { 
        $('table tbody tr:first td').each(function(i,h){
            if (this.rowSpan>1) { 
                $(this).css('background','#CCC');
                headers[i] = { sorter: false }; 
                tds[i]=h;
                h.remove()
            }
          });
    }).bind("sortEnd",function() { 
        $.each(tds,function(i,td){
            $('table tbody tr:first td:eq('+(i-1)+')').after(td);
        });
        $('table tbody tr').each(function(i,tr){
            $('td:first',tr).html(i+1);
        });
    }); 

jsfiddle 示例

于 2013-09-30T17:51:49.383 回答