选择过滤器时,Tablesorter 值应始终可见

Tablesorter value should always be visible when choosing a filter

我目前正在使用 table 排序器,只是想知道是否有办法让默认值始终显示,而不管来自 filter-[= 的 selected 过滤器21=] 列表。我尝试使用过滤器函数,但在我为具有 filter-select 的列添加过滤器函数后,它丢失了包含所有可用值的 filter-select 列表。

例如,这是我尝试使用的过滤器函数,它应该显示 "John" 而不管 selected 的值:

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

      return show;
    },

我是不是漏掉了什么?

在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 which can be used as follows (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'
      }
    }
  });
});

此外,请确保在 header 单元格中包含 "filter-match" class 名称:

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

否则 "OR" 查询默认为完全匹配的单元格内容。