Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery Tablesorter-可以分组';已排序';排?_Jquery_Html_Sorting_Tablesorter - Fatal编程技术网

jQuery Tablesorter-可以分组';已排序';排?

jQuery Tablesorter-可以分组';已排序';排?,jquery,html,sorting,tablesorter,Jquery,Html,Sorting,Tablesorter,我使用jQuery tablesorter对一个表进行排序,并希望在排序后在行组之间产生某种分离。例如,如果我使用一个包含Title、Category和Year的表,一旦排序,某一年的所有行在其他行之间都会有一定量的填充 例如: 我想这需要构建一个小部件并比较每一行的值,如果一行与前面的值不匹配,那么它应该应用某种填充,但我有点不知所措 JSBIN: 任何指导/帮助都将不胜感激,谢谢 我不确定您是想在中间添加一个空行,还是让行更高,所以我选择了后者。这是我制作的小部件和一个: $.tables

我使用jQuery tablesorter对一个表进行排序,并希望在排序后在行组之间产生某种分离。例如,如果我使用一个包含Title、Category和Year的表,一旦排序,某一年的所有行在其他行之间都会有一定量的填充

例如:

我想这需要构建一个小部件并比较每一行的值,如果一行与前面的值不匹配,那么它应该应用某种填充,但我有点不知所措

JSBIN:


任何指导/帮助都将不胜感激,谢谢

我不确定您是想在中间添加一个空行,还是让行更高,所以我选择了后者。这是我制作的小部件和一个:

$.tablesorter.addWidget({
id:'间隔',
格式:函数(表){
var c=table.config,
$t=$(表),
$r=$t.find('tbody')。find('tr'),
i、 l,last,col,rows,spacer=[];
if(c.sortList&&c.sortList[0]){
$t.find('tr.spacer')。移除类('spacer');
col=c.sortList[0][0];//第一个排序列
行=table.config.cache.normalized;
last=行[0][col];//第一行的文本
l=行数。长度;
对于(i=0;i对于(i=0;i我不确定您是想在中间添加一个空行,还是让行更高,所以我选择了后者。下面是我制作的小部件和一个:

$.tablesorter.addWidget({
id:'间隔',
格式:函数(表){
var c=table.config,
$t=$(表),
$r=$t.find('tbody')。find('tr'),
i、 l,last,col,rows,spacer=[];
if(c.sortList&&c.sortList[0]){
$t.find('tr.spacer')。移除类('spacer');
col=c.sortList[0][0];//第一个排序列
行=table.config.cache.normalized;
last=行[0][col];//第一行的文本
l=行数。长度;
对于(i=0;i对于(i=0;我可以发布html和JSFIDLE吗?@elclandrs Hi-jsbin可以吗?我也认为这个小部件代码绝对是正确的路径,但我没有弄清楚-你可以发布html和JSFIDLE吗?@elclandrs Hi-jsbin可以吗?我也认为这个小部件代码绝对是正确的路径,但我没有弄清楚-
Title Cat 2012
Title Cat 2012
Title Cat 2012


Title Cat 2011
Title Cat 2011
Title Cat 2011


Title Cat 2010
Title Cat 2010
$.tablesorter.addWidget({
    id: 'spacer',
    format: function(table) {
        var c = table.config,
        $t = $(table),
        $r = $t.find('tbody').find('tr'),
        i, l, last, col, rows, spacers = [];
        if (c.sortList && c.sortList[0]) {
            $t.find('tr.spacer').removeClass('spacer');
            col = c.sortList[0][0]; // first sorted column
            rows = table.config.cache.normalized;
            last = rows[0][col]; // text from first row
            l = rows.length;
            for (i=0; i < l; i++) {
                // if text from row doesn't match last row,
                // save it to add a spacer
                if (rows[i][col] !== last) {
                    spacers.push(i-1);
                    last = rows[i][col];
                }
            }
            // add spacer class to the appropriate rows
            for (i=0; i<spacers.length; i++){
                $r.eq(spacers[i]).addClass('spacer');
            }
        }
    }
});

$('table').tablesorter({
    widgets : ['spacer']
});​