Tablesorter Custom Parser不工作

时间:2014-04-18 17:06:08

标签: jquery regex tablesorter

我正在尝试创建自己的tablesorter解析器,但它无法正常工作。我使用PHP和我的MySQL数据库生成表。问题出在这里:在我的专栏0中,类似于5.98(50%)和10.67(100%)(http://i.epvpimg.com/NsTlb.png)。我尝试使用括号来正确排序(正则表达式可以正常工作)但是Tablesorter只是将100%的东西放在底部:/你可以在这里调试激活调试结果:http://maxiboether.ma.funpic.de/x264/index2.php

这是我的代码:

<head>
<meta charset="utf-8">
    <title>x264 Benchmark</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<script src="http://tablesorter.com/__jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="js/jquery.metadata.js"></script>
<script type="text/javascript" src="js/jquery.hoverIntent.js"></script>
<script type="text/javascript" src="js/mbMenu.js"></script>
<script src="js/textext.core.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">

<script type="text/javascript">
 $.tablesorter.addParser({ 
        // set a unique id 
        id: 'customFPS', 
        is: function(s) { 
            // return false so this parser is not auto detected 
            return false; 
        }, 
        format: function(s) { 
            // format your data for normalization 
             return $.tablesorter.formatFloat(s.replace(/ *\([^)]*\) */g, ""));

        }, 
        // set type, either numeric or text 
        type: 'numeric' 
    }); 
$(document).ready(function() 
    { 
        $("#keywords").tablesorter({ 
        // enable debug mode 
        debug: true 
        }); 
        $("#keywords").tablesorter({
            headers: {
                0: {sorter:'customFPS'}
            }
        }); 
        $("#keywords").tablesorter({
            sortList: [[0,1]]
        }); 


    } 
); 

</script>

我在这里做错了什么?

此致

Mayesters

1 个答案:

答案 0 :(得分:0)

我通过让Tablesorter决定这是否是FPS列来解决它!

我的代码现在是:

 $.tablesorter.addParser({ 
        // set a unique id 
        id: 'customFPS', 
        is: function(s) { 
            // return false so this parser is not auto detected 
            return s.match(new RegExp(/ *\([^)]*\) */g));
        }, 
        format: function(s) { 
            // format your data for normalization 
             return $.tablesorter.formatFloat(parseFloat(s.replace(/ *\([^)]*\) */g, "")));

        }, 
        // set type, either numeric or text 
        type: 'numeric' 
    });