2017-01-16 11 views
0

我使用的是旧的AngularJS 1.x,我有一个带有各种键/值的JSON对象。如何过滤数组中的任何值。我想创建一个全局搜索输入字段并输入可以在数据中找到的任何值。我想在控制器中执行搜索()。像这样的东西..Angular 1 - 在数组/ JSON中的所有值进行全局过滤(搜索)

$scope.search = function(searchTerm){ 
    // Loop through objects - angular.forEach 
    // Loop through key/values 
     // return matches 
} 

搜索将返回所有在它的一个值(的indexOf)> -1对象的列表值提前 感谢HTML

+0

这个问题的方式过于宽泛,需要澄清:什么是应该当有返回的搜索功能没有比赛,何时有单场比赛,何时有多场比赛?另外,是否可以假定所有对象值都是字符串类型?搜索只会匹配值字符串的开头,值字符串的结尾还是值字符串中的任何位置?它应该只支持精确匹配还是模糊匹配?你将能够使用正则表达式或纯文本进行搜索。请提供一个演示你到目前为止已经尝试过的东西。 – GPicazo

+1

您可以对此使用[filter](https://docs.angularjs.org/api/ng/filter/filter)过滤器。如果对象具有字符串值,则searchTerm将在对象属性上进行字符串匹配以进行过滤。 –

回答

0

Enter subject: <input type = "text" ng-model = "searchText"> 
Subject: 
<ul> 
    <li ng-repeat = "studentInfo in students | filter: searchText"> 
    </li> 
</ul> 

searchText将过滤studentInfo中的所有字段。

0

它是如此简单的采用了棱角分明的js 1个概念

<input type="text" value="Search" ng-model="searchquery"> 

<div ng-repeat="datalist in datalists | filter:searchquery"> 
<span>Name : {{ datalist.name }}</span> 
<span>Age : {{ datalist.age }}</span> 
<span>Age : {{ datalist.Designation }}</span> 
</div> 

Using Angular js 1

Using Angular 2

相关问题