html 表格行排序,用客户端HTML表格排序对行进行分组

可用于逻辑上(不一定是语义上)可用的唯一元素是将相关的行分组在一起的是

,因为它有效地具有多个元素。但是,由于实现tablesorter的方式,这在这种情况下不会有任何帮助。

我可以看到在的tablesorter源代码一个未记录的配置选项 - appender - 这允许指定一个函数,它接受被排序的表,并包含分类的行的数据结构被附加到它达到预期的重新排序,但我看不到任何选项可让您配置在排序时查看哪些行。

如果这个难题的第一部分在那里,您可以使用它来限制考虑排序到真实数据行的行,并使用appender选项提供一个函数,该函数附加每个排序的行和其下一行的兄弟行。

编辑:这里有一个快速和肮脏的执行额外的一块你需要和使用例子:

修改的buildCache方法,从行195起,以jquery.tablesorter.js:

var rowsToSort = table.config.rowsToSort ? table.config.rowsToSort(table) : table.tBodies[0].rows;

var totalRows = rowsToSort.length,

totalCells = (rowsToSort[0] && rowsToSort[0].cells.length) || 0,

parsers = table.config.parsers,

cache = {row: [], normalized: []};

使用这对我来说与样品表的工作原理:

$(document).ready(function() {

$.tablesorter.defaults.debug = true;

// Select every other row as sorting criteria

$.tablesorter.defaults.rowsToSort = function(table)

{

var rows = [];

var allRows = table.tBodies[0].rows;

for (var i = 0, l = allRows.length; i < l; i += 2)

{

rows.push(allRows[i]);

}

return rows;

};

// Append each row and its next sibling row

$.tablesorter.defaults.appender = function (table, rows)

{

for (var i = 0, l = rows.length; i < l; i++)

{

var row = rows[i][0];

var buddyRow = $(row).next("tr").get(0);

table.tBodies[0].appendChild(row);

table.tBodies[0].appendChild(buddyRow);

}

};

$("table").tablesorter();

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值