在jQuery中组合多个过滤器

时间:2017-12-12 14:45:50

标签: javascript jquery

我在这个帖子中看到了类似的问题,但我不能使用评论,因为我只是新用户:How to combine multiple FIlters together to filter Task Rows using jQuery?

这是现场演示。我只是想知道如何做而不是使用完整的字符串搜索,它应该只是"包含"输入文字。

(function () {
  var
    filters = {
      user: null,
      status: null,
      milestone: null,
      priority: null,
      tags: null
    };

  function updateFilters() {
    $('.task-list-row').hide().filter(function () {
      var
        self = $(this),
        result = true; // not guilty until proven guilty

      Object.keys(filters).forEach(function (filter) {
        if (filters[filter] && (filters[filter] != 'None') && (filters[filter] != 'Any')) {
          result = result && filters[filter] === self.data(filter);
        }
      });

      return result;
    }).show();
  }

  function bindDropdownFilters() {
    Object.keys(filters).forEach(function (filterName) {
      $('#' + filterName + '-filter').on('change', function () {
        filters[filterName] = this.value;
        updateFilters();
      });
    });
  }

  bindDropdownFilters();
})();

http://codepen.io/luciopaiva/pen/YXYGaY?editors=101

0 个答案:

没有答案