Tablesorter精确过滤器匹配数字

时间:2014-08-11 22:46:00

标签: filter numbers tablesorter

我正在使用下拉过滤器来过滤具有数值的表列。我阅读了有关tablesorter的所有文档,但我不确定如何获得完全匹配的数字。当我在第8列中选择4(从零开始)时,它显示4,14和42.

有什么想法吗?我想我需要解析这些值,但我不知道该怎么做。

这是剧本:

    <script>
    $(document).ready(function(){
    var $table = $('table').tablesorter({
        sortList: [[0,0]] ,
        widgets: ["filter"],
        widgetOptions: {
            filter_columnFilters: false,
            filter_reset: '.reset'
        },

        headers: { 
        // Spalte startet mit 0 
            0: {sorter:false},
            1: {sorter:false},
            2: {sorter:false},
            3: {sorter:false},
            4: {sorter:false},
            5: {sorter:false},
            6: {sorter:false},
            7: {sorter:false},
            8: {filter: "digit"}
        }
    }); 
    $.tablesorter.filter.bindSearch( $table, $('.search') );
});
</script>

这是下拉列表:

<label>Liga</label>
<select class="search" style="width:175px;" data-column="8">
    <option selected disabled hidden value=''></option>
    <?php
        $sqlfile = '../sql/leagues.sql';
        $sqlcont = file_get_contents($sqlfile);
        $league_query = mysql_query($sqlcont) or die("Anfrage sql nicht erfolgreich");
        while ($filter = mysql_fetch_array($league_query)){
            echo "<option value='".$filter['LID']."'>".$filter['LID']."</option>";
    }?>
</select>

最后是桌子负责人:

    <thead>
    <tr>            
        <th>Datum</th>
        <th>Uhrzeit</th>
        <th>Spielklasse</th>
        <th>Liga</th>
        <th>Team A</th>
        <th>Team B</th>
        <th>Ergebnis</th>
        <th>Auswertung</th>     
        <th>SID</th>            
    </tr>
</thead>

1 个答案:

答案 0 :(得分:1)

默认设置过滤器小部件以匹配结果。如果要与结果完全匹配,请在查询末尾添加等号(=)或引号("')。试试this demo&amp;在第二列中使用10=仅显示10的值。

this demo page上,可以获得过滤器窗口小部件搜索类型的完整列表。

如果您希望始终的结果完全匹配,请查看显示如何使用filter_functions选项始终返回完全匹配的this demo - 代码应该适用于文本和数字,如果没有,请将===更改为==,如下所示:

filter_functions : {

  // Exact match only
  1 : function(e, n, f, i, $r) {
    return e == f;
  }

}