AngularJS过滤多个字符串
发布时间:2020-12-17 07:34:29 所属栏目:安全 来源:网络整理
导读:我正在学习AngularJS教程,并了解其基础知识 但是,开箱即用的实现似乎仅限于将项目列表过滤为输入的确切单词或短语. 示例:如果查询是“table cloth”,则结果列表可以包含此短语“装饰表布”的结果,但不包括“装饰布料表”,因为过滤器只是一个连续的搜索字符
我正在学习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/ 此过滤器可确保找到所有搜索词. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |