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();
});
總結
以上是生活随笔為你收集整理的html 表格行排序,用客户端HTML表格排序对行进行分组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android hud sdk,Andr
- 下一篇: Windows 下,使用 Pycharm