9

我有一个包含小写和大写数据的 json。例如 :

[

  { "firstName":"JoHn" , "lastName":"DoE" }, 
  { "firstName":"aNnA" , "lastName":"smIth" }, 
  { "firstName":"PeTer" , "lastName":"JOnes" }

]

我有类似的东西:

Search: <input ng-model="searchText">
        <table id="searchTextResults">
          <tr><th>Name</th><th>Phone</th></tr>
          <tr ng-repeat="friend in friends | filter:searchText">
            <td>{{friend.firstName}}</td>
            <td>{{friend.lastName}}</td>
          </tr>
        </table>

我想做的是搜索朋友而不查看大写和小写。所以基本上当我在输入中输入“John”、“JOHN”或简单的“john”时,它应该返回我的朋友 John。

那么是否可以将不区分大小写的选项应用于过滤器?

4

2 回答 2

19

有一种方法可以打开不区分大小写的过滤器:

<div data-ng-repeat="item in items | filter : searchText : false"></div>

普朗克

于 2015-10-06T11:44:55.613 回答
9

将您在适用范围内定义的函数名称传递给filter您使用字符串的toLowerCase。见ngFilter。函数签名很简单function (item) { ... }

控制器中的示例 JS:

$scope.filterOnlyFoo = function (item) {
    return item == "foo";
}

示例 HTML:

<div data-ng-repeat="item in items | filter: filterOnlyFoo"></div>

样品冲床

于 2013-08-06T13:52:51.103 回答