Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在某些字段中使用“AngularJS过滤器”;或;条件_Javascript_Angularjs_Filter - Fatal编程技术网

Javascript 在某些字段中使用“AngularJS过滤器”;或;条件

Javascript 在某些字段中使用“AngularJS过滤器”;或;条件,javascript,angularjs,filter,Javascript,Angularjs,Filter,我对AngularJS过滤器有问题 我不想用一个输入搜索框“过滤”,而是用多个带“或”条件的字段过滤列表 这里是一个演示 我不想只使用name和description字段筛选列表 如果我输入“hello”、“world”或“angular”,则不应返回任何结果 如果我输入:“example”,它应该只返回第一行和第三行 如果我输入:“description”,它应该只返回第一行和第二行。等等 所以,一般来说,我想使用一个名称、多个名称,但列表中的某些字段使用“或”条件进行筛选 我能够创造“和”

我对AngularJS过滤器有问题

我不想用一个输入搜索框“过滤”,而是用多个带“或”条件的字段过滤列表

这里是一个演示

我不想只使用
name
description
字段筛选列表

如果我输入“hello”、“world”或“angular”,则不应返回任何结果

如果我输入:“example”,它应该只返回第一行和第三行

如果我输入:“description”,它应该只返回第一行和第二行。等等

所以,一般来说,我想使用一个名称、多个名称,但列表中的某些字段使用“或”条件进行筛选

我能够创造“和”条件,但这不是我需要的

我也搜索了很多关于这个主题的内容,但不幸的是,这些代码和示例中没有一个适合我


请,帮助和感谢提前

我认为OR过滤器还不受支持。我通过创建一个名为
$searchable
的元属性解决了这个问题

 angular.forEach($scope.items, function (item){
     Item.$searchable = [item.name, item.description].join (' ');
}
在html中:

<input type="text" ng-model="search.$searchable">

您可以创建自己的,并应用您想要的任何功能

在您的情况下,类似于:

app.filter('customFilter', function() {
  return function(items, search) {
    if (!search) {
      return items;
    }
    var searchItems = new RegExp(search.split(' ').join("|"), "i");
    return items.filter(function(item) {
      return searchItems.test(item.name) || searchItems.test(item.description);
    });
  };  
}); 

查看它的工作情况。

我想创建一个自定义筛选器,但无法管理它。谢谢,这正是我需要的。