首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery tablesorter - Hyphen bug

Jquery tablesorter - Hyphen bug
EN

Stack Overflow用户
提问于 2012-03-16 07:26:59
回答 3查看 1.1K关注 0票数 1

我做了一个非常基本的例子,当我在第一个<tr> <td> (第一行,第一个单元格)上使用连字符时,表操作器就不再工作了。

我用的是jquery 1.7.1和最新的tablesorter.min.js

代码示例:

Works -> No连字符: http://jsfiddle.net/6gjLs/4/

在第二行-> Hyphen上工作http://jsfiddle.net/8Wet2/4/

在第一行的第一个td上不工作-> Hyphen: http://jsfiddle.net/YkaCv/4/

您可以看到,在这3个示例中,代码完全相同,只有表数据会发生变化。

有谁遇到过同样的问题吗?有什么解决办法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-16 07:44:21

嘿,这就是为什么它不起作用的原因& hack-y解决方案。

原因:

因此,它的表分类器代码确实照顾了破折号-。

https://github.com/jbritten/jquery-tablesorter-filter/commit/378b7ef36e9201df4ec6bd3fb2487e8c9ec9359f

但是我正在阅读这个插件,并且应该找出为什么这个隐藏的第一个行会解析它。

可能的解决方案:

如果您知道任何HTML编码可以伪造不会出现的字符,它至少会检查一个字符才能开始解析该连字符/破折号(-)。--我尝试过使用下划线(_) --它也能工作。我会继续玩但是

( b) *如果*您可以尝试将其作为第一行,这将是非常棒的--在顶部做一个空行,其中包含一些内容,然后将第二行作为破折号

代码语言:javascript
复制
Working CODE: (In your JSFiddle - change your TBODY to this one and this should work man.

       <tbody>
 <tr style="display:none;">
                    <td>foobar</td>                                                                                          
                </tr>                
                <tr>
                    <td>-</td>                                                                                          
                </tr>
                <tr>
                    <td>B</td>                                               
                </tr>
                <tr>
                    <td>C</td>                                               
                </tr>
            </tbody>

我希望这到目前为止有帮助。

干杯,

票数 0
EN

Stack Overflow用户

发布于 2012-03-20 13:41:49

实际上,当tablesorter试图确定每一列中包含什么样的数据时,它会与破折号混淆.是短信还是减号?如果运行将debug设置为true的插件,您将看到它将解析器设置为digit。这是一个更新演示

因此,最好的非恶意解决方案是将头解析器设置为文本:

代码语言:javascript
复制
$(".tableresult").tablesorter({
    headers: {
        0: { sorter:'text' }
    }
});

最后,请不要使用$().ready(function(){});作为文档就绪函数。在最新版本的jQuery中,它仍然受到支持,但是它是不建议才能使用,而且支持很可能在将来被删除。使用$(function(){})代替。

票数 4
EN

Stack Overflow用户

发布于 2012-03-16 07:43:31

不过,我不太喜欢tablesorter,但我发现,在您的示例中,一个简单的解决方法就是总是插入一个隐藏的tr、td并将A放在顶部:

代码语言:javascript
复制
            <tr style="display:none">
                <td>A</td>                                                                                          
            </tr>      
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9733450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档