AngularJs:使用过滤器选项搜索无法正常工作

时间:2013-06-19 07:18:05

标签: angularjs angularjs-filter

我在angularjs中遇到Filter文本的问题。

我有一个名为“users”的联系人JSON数组

[{ "contactId": 1, "contactName": "Anil", "contactEmail": "anil@domain.com", "contactMobile": "1111111111" }, { "contactId": 2, "contactName": "Pankaj", "contactEmail": "pankaj@domain.com", "contactMobile": "2222222222" }, { "contactId": 3, "contactName": "John", "contactEmail": "john@domain.com", "contactMobile": "333444555" }]

搜索过滤器的HTML

<div>
  <label>Name:</label>
  <input type="text" ng-model="nameFilter" placeholder="Enter a name here">
  <hr>
  <h1>Hello {{nameFilter}}!</h1>
<ul ng-controller='MyController'>
    <li ng-repeat="user in users | filter:nameFilter">{{ user.contactName }}</li>
</ul>
</div>

在HTML中我只打印contactName,因为我想使用上面的文本框仅过滤“Name”,而不是使用contactEmail或contactMobile ...但过滤器选项是使用contactEmail和contactMobile过滤数据,因为JSON具有这些对象。 ...但是如果不从JSON数组中删除json对象(contactEmail和contactMobile),我如何只使用contactName过滤数据。

1 个答案:

答案 0 :(得分:4)

您可以使用object而不是String作为键。 请参阅:http://docs.angularjs.org/api/ng.filter:filter

<input type="text" ng-model="nameFilter.contactName" placeholder="Enter a name here">