获取jQuery tablesorter以使用隐藏/分组表行

我有可扩展和可折叠记录的经典表,如果展开显示几个子记录(作为同一父表中的新记录,而不是一些子div /子表)。 我也在使用tableorter并且非常喜欢它。

问题是tablesorter没有在父记录旁边保留扩展子记录。 它将它们分类为顶层。 因此,每当表按列排序时,子行最终会遍布整个地方而不是我想要的位置。

有没有人知道对tablesorter或特定配置的良好扩展,使tableorter即使在排序后也能将子行与父行组合在一起? 或者我是否必须放弃tableorter以支持其他API或者开始编写我自己的小部件的丑陋过程? 我应该避免使用基于CSS的方法隐藏表的各行来表示折叠行吗?

如果你想保留tablesorter,我可以在这里找到一个用于此目的的mod

在包含它之后,您使第二个(可扩展子)行具有类“expand-child”,并且tablesorter将知道将该行与其父(前一行)保持配对。

实际上,@ AdamBellaire提到的那个modorter mod被添加到tablesorter v2.0.5中 。 我已经记录了如何在我的博客上使用ccsChildRow选项 。

另外,如果你有兴趣,我在github上有一个tablesorter的分支,它有很多增强function和有用的小部件:)

丑陋的修复而不是使用上面涉及为父行和子行指定parentId css类和childId css类,然后使用窗口小部件重新调整。 以防万一其他人遇到这个问题。 它显然不是最好的代码,但它对我有用!

 $("tbody tr[class^='parent']", table).each(function() { $(this).after($("tbody tr[class^='child"+$(this).attr("class").substring(6)+"']", table)); });