AngularJS过滤多个字符串

前端之家收集整理的这篇文章主要介绍了AngularJS过滤多个字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习AngularJS教程,并了解其基础知识

但是,开箱即用的实现似乎仅限于将项目列表过滤为输入的确切单词或短语.

示例:如果查询是“table cloth”,则结果列表可以包含此短语“装饰表布”的结果,但不包括“装饰布料表”,因为过滤器只是一个连续的搜索字符串.

我知道有能力添加自定义过滤器,但乍一看似乎主要是转换.

有没有办法添加自定义过滤器,以便在过滤结果集中显示“装饰桌布”和“装饰桌布”?

请参阅下面的 surfbuds答案,因为它是优越的

只需使用您自己的过滤器:

.filter("myFilter",function(){
    return function(input,searchText){
        var returnArray = [];
        var searchTextSplit = searchText.toLowerCase().split(' ');
        for(var x = 0; x < input.length; x++){
            var count = 0;
            for(var y = 0; y < searchTextSplit.length; y++){
                if(input[x].toLowerCase().indexOf(searchTextSplit[y]) !== -1){
                    count++;
                }
            }
            if(count == searchTextSplit.length){
                 returnArray.push(input[x]);   
            }
        }
        return returnArray;
    }
});

jsfiddle:http://jsfiddle.net/Cq3PF/

此过滤器可确保找到所有搜索词.

猜你在找的Angularjs相关文章