Javascript 使用单个文本框向多个字段添加严格搜索

Javascript 使用单个文本框向多个字段添加严格搜索,javascript,angularjs,Javascript,Angularjs,有一个基本的角度应用程序 HTML <input type="text" ng-model="txt.name" /> <ul> <li ng-repeat="d in data | filter: txt:strict"> <span>{{d.name}}</span> <br /> <span>{{d.description}}</span>

有一个基本的角度应用程序

HTML

  <input type="text" ng-model="txt.name" />
  <ul>
    <li ng-repeat="d in data | filter: txt:strict">
      <span>{{d.name}}</span>
      <br />
      <span>{{d.description}}</span>
      <br />
      <span>{{d.loremipsum}}</span>
      <br />
    </li>
  </ul>
我希望能够通过
name
description
进行搜索,但不能通过
loremipsum

我该怎么做


下面是一个使用自定义函数的示例:


您可能希望在自定义函数中使用match而不是===

您可以创建自定义过滤器,请参见下面的演示

var-app=angular.module('app',[]);
应用控制器(“mc”,功能($scope){
$scope.data=[{
“名称”:“asd”,
“描述”:“jiocioasdiasidjpoasdko”,
“loremipsum”:“loremipsum”
}, {
'name':'qwe',
'description':'poqwpeqwpe',
“loremipsum”:“loremipsum”
}, {
“名称”:“czxc”,
“description”:“asdasdasd”,
“loremipsum”:“loremipsum”
}];
});
app.filter('customFilter',function(){
返回函数(项、字符串){
var筛选=[];
var stringMatch=newregexp(字符串'i');
对于(变量i=0;i

  • {{d.name}
    {{d.description}}
    {{d.loremipsum}}

如果是通过
名称
说明
,则需要自定义筛选器或自定义筛选器function@NewDev是的,它是一个
然后您需要编写一个自定义筛选函数有没有一种方法可以传递参数(可搜索字段)到自定义筛选器,而不是硬编码到
名称
说明
?所以我也可以在其他数据模型中使用它?
var app = angular.module('app', []);

app.controller("mc", function($scope){

$scope.data = [{
  'name': 'asd',
  'description': 'jiocioasdiasidjpoasdko',
  'loremipsum': 'loremipsum'
}, {
  'name': 'qwe',
  'description': 'poqwpeqwpe',
  'loremipsum': 'loremipsum'
}, {
  'name': 'czxc',
  'description': 'asdasdasd',
  'loremipsum': 'loremipsum'
}]
});