答案 0 :(得分:3)
docs demo使用的是jQuery和Tablesorter的不同(古老)版本。从比较源我发现自动col / row跨度检测永远不会在较新版本中完成。跨度检测功能仍在那里 - 但只是没有被调用。不知道为什么会出现这种回归。
话虽如此,我可以使用此设置运行您的演示:
$(document).ready(function(){
$('#rowspan').tablesorter({
headers: {
4: {sorter: false},
5: {sorter: false},
6: {sorter: false},
7: {sorter: false}
}
});
});
如果您知道colspan>1
是一个安全的标准,那么我会推断出这样的标头索引:
$(function(){
var headers = {};
$('#rowspan thead th').each(function(i,h){
if (this.colSpan>1) { headers[i] = { sorter: false }; }
});
$('#rowspan').tablesorter({
headers: headers
});
});
<强>更新强>
“工作”示例:http://jsbin.com/ucija3
该示例看起来像您要求的或我不理解您的问题。但是,我刚刚发现点击标有3.1 - 4.2的标题会引发异常。 所以,我想我对你的问题的最终答案是:这个插件的当前版本不适用于行或者colspans。
<强>更新强>
一个简单的补丁来完成这项工作:
在函数buildHeaders
(第290行)中,将行$tableHeaders = $("thead th",table);
更改为:
$tableHeaders = $("thead th:not([colspan]),thead th[colspan=1]",table);
一个更复杂的灵活补丁:
将配置参数添加到buildHeaders
(第290行):
function buildHeaders(table, config) { # ...
过滤到$tableHeaders
(第299行):
$tableHeaders = $("thead th",table).filter( config.headerFilter || '*' );
在调用时将配置传递给buildHeaders(第504行):
$headers = buildHeaders(this, config);
初始化tablesorter时添加过滤器:
$(function(){
$('#rowspan').tablesorter({
headerFilter: function(){ return this.colSpan == 1; }
});
});
Here is a pre-patched version包含headerFilter
选项and a demo of it in action.
答案 1 :(得分:2)
此功能已停用,如下所示: link text
我找到了另一种方法来产生相同的效果,在第298行的tablesorter js中有这个代码规则:
$tableHeaders = $("thead th",table);
将其更改为
$tableHeaders = $("thead th:not([colspan])",table);
它对我有用!
修改强> 更改了代码和位置
答案 2 :(得分:1)
仅供参考,red-X提供的修复:
$ tableHeaders = $(“thead th”,table); 将其更改为
$ tableHeaders = $(“thead 个:否([列跨度])”,表);
打破了IE6和IE7的tablesorter插件。我提出的唯一解决方案(我在其他地方找到的解决方案)是你需要只有一行和一行包含TH标签。您可以在THEAD中包含其他列(包括带有colspans的列),但它们必须使用TD标记。这在标记方面并不理想,但至少该插件适用于IE6和IE7。
答案 3 :(得分:0)
我尚未对此进行全面测试,但我建议更新您的文档类型。从经验表分类器(和一般的jQuery)可以对doc类型非常敏感。
演示(有效)使用以下内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
修改:更新DocType后,它仍然无效。然后我下载了演示站点上使用的TableSorter版本,它现在可以作为演示版使用。唯一的另一个区别是我在文档的head部分包含了脚本和css,但这应该没有区别。
我确实认为jQuery的版本可能是一个问题,但我使用的是与您使用相同资源的1.3.2。