如何根据我的搜索字符串是否是该类的子集来布尔值?

时间:2014-07-05 18:28:10

标签: wordpress class search hide

我有一个包含人员和数据的长表的Wordpress网站,我需要添加一个搜索过滤器,该过滤器仅显示与输入的单词匹配的人。这是我正在使用的代码:

$(document).ready(function() {
       $('input[name=searchFilterInput]').keyup(function() { 
                var searchFilterVal = $('input[name=searchFilterInput]').val();
        searchFilterVal = searchFilterVal.replace(/ /g, '-');
        searchFilterVal = searchFilterVal.toLowerCase();

        if(searchFilterVal == '') {
            $('tr.hide').fadeIn('slow').removeClass('hide');
        } else {

            $('tr.fellows').each(function() {

            if(!$(this).hasClass(searchFilterVal)) {
                    $(this).fadeOut('normal').addClass('hide');

                } else {
                    $(this).fadeIn('slow').removeClass('hide');
                }
            });
        }
});
});

只要输入与类完全匹配,这就很有用。我需要if(!$(this).hasClass(searchFilterVal)) { 基本上说“If(this).hasClass(如果输入匹配类的任何部分)”

这有意义吗?这是页面: http://cambridgefellows.com/directory-of-fellows/?searchFilterInput=Media

是第二个搜索字段 - 下拉菜单右侧的搜索字段。

如果没有明确询问这个问题,我很抱歉 - 如果我能说得更清楚,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个..我已经开始了,它正在运作

$(document).ready(function() {
       $('input[name=searchFilterInput]').keyup(function() { 
                var searchFilterVal = $('input[name=searchFilterInput]').val();
        searchFilterVal = searchFilterVal.replace(/ /g, '-');
        searchFilterVal = searchFilterVal.toLowerCase();

        if(searchFilterVal == '') {
            $('tr.hide').fadeIn('slow').removeClass('hide');
        } else {

            $('tr.fellows').each(function() {
            var pattern = $(this).attr('class');    // the pattern to be matched 
            var match = pattern.match(searchFilterVal);//If pattern matches it returns the match

            if(!match) {
                    $(this).fadeOut('normal').addClass('hide');

                } else {
                    $(this).fadeIn('slow').removeClass('hide');
                }
            });
        }
   });
});