gpt4 book ai didi

jQuery tablesorter - 标题中的行跨度导致奇怪的行为

转载 作者:行者123 更新时间:2023-12-01 00:08:58 24 4
gpt4 key购买 nike

失败示例:
http://progamonth.com/files/testfile.html

期望的行为:
理想情况下,任何带有 colspan 的 header 不应影响排序。现在,它们收到排序按钮,即使我为每个 colspan header 指定 headers: {index: {sorter: false}} ,它们仍然会影响排序。当我单击没有 rowspan 或 colspan 的标题(1.1.2 等)时,它们似乎导致排序发生在右侧 4 列!

我无法重现此工作示例:
http://lovepeacenukes.com/tablesorter/2.0/docs/

此页面似乎显示此行为有效,但我无法重现此行为。 rowspan 的示例甚至没有手动关闭这些标题,所以这是怎么回事?!我确实看到示例中的 colspan header 没有 header 类,但这似乎是由 tablesorter 插件应用的。

有谁知道这是怎么回事吗?

工作图片: alt text http://progamonth.com/files/working.png

不工作图片: alt text http://progamonth.com/files/notworking.png

最佳答案

文档演示使用的是与您不同的(古老)版本的 jQuery 和 Tablesorter。通过比较来源,我发现新版本中从未完成自动列/行跨度检测。跨度检测功能仍然存在 - 但只是没有被调用。不知道为什么会发生这种回归。

话虽如此,我可以使用此设置运行您的演示:

$(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 的标题会引发异常。 所以,我想我对您问题的最终答案是:此插件的当前版本不适用于行或列跨度。

更新:

一个简单的补丁即可实现此功能:

在函数 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);

初始化表排序器时添加过滤器:

$(function(){
$('#rowspan').tablesorter({
headerFilter: function(){ return this.colSpan == 1; }
});
});

Here is a pre-patched version包括 headerFilter 选项 and a demo of it in action.

关于jQuery tablesorter - 标题中的行跨度导致奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3326654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com