2016-11-30 68 views
1

我目前使用的表分拣机,只是想知道是否有一种方法,默认情况下有一个值始终显示,无论从过滤器选择列表中选择的过滤器。我尝试使用过滤器函数,但在为具有过滤器选择的列添加过滤器函数后,它将丢失具有所有可用值的过滤器选择列表。选择过滤器时,Tablesorter值应始终可见

例如,这里是我使用,它应该显示试过的过滤功能“约翰”不管是选择的价值观:

0 : function(e, n, f, i, $r, c, data) { 
     var x = e===f; 
     var y = e==='John'; 
     var show = x|y; 

     return show; 
    }, 

image

我缺少的东西?

回答

1

在JavaScript中,OR操作者需要两个垂直条:

0 : function(e, n, f, i, $r, c, data) { 
    var x = e===f; 
    var y = e==='John'; 
    var show = x || y; 

    return show; 
}, 

也许一个更好的方法是使用filter_defaultFilter option其可用于如下(demo):

$(function() { 
    $('table').tablesorter({ 
    theme: 'blue', 
    widgets: ['zebra', 'filter'], 
    widgetOptions: { 
     filter_defaultFilter: { 
     // Ox will always show 
     // {q} is replaced by the user query 
     2: '{q}|Ox' 
     } 
    } 
    }); 
}); 

另外,请确保在标题单元格中包含“过滤器匹配”类名称:

<th class="filter-match">...</th> 

否则“OR”查询默认为准确的单元格内容匹配。

+0

工作就像一个魅力! :)谢谢@Mottie! –