过滤特定的多个表达式角度js

时间:2016-02-05 20:32:30

标签: javascript html angularjs

我想只搜索列名或数字,目前我只搜索列名。

<input type="text" ng-model="test.name" placeholder="start typing..">

我的表情,

  <tr ng-repeat="x in names | filter:test | limitTo:totalDisplayed">
                            <td>{{ x.name }}</td>
                            <td>{{ x.number}}</td>
                            <td>{{ x.city }}</td>
                            <td>{{ x.country }}</td> 
                        </tr>

1 个答案:

答案 0 :(得分:0)

创建自定义过滤器以实现此目的。

HTML

<input type="text" ng-model="test.name" placeholder="start typing..">
        <tr ng-repeat="x in names | myFilter: test">
                       <td>{{ x.name }}</td>
                       <td>{{ x.number}}</td>
                       <td>{{ x.city }}</td>
                       <td>{{ x.country }}</td> 
                   </tr>

js过滤器

angular.module('myApp').filter('myFilter', function () {
      return function (list, input) {

    //input is test object and list is your current array you want to return a filtered array
    var myArray = [];
    list.forEach(function(o, i){
        if(o.name.indexOf(input.name) > -1 || o.number.indexOf(input.name) > -1 )
            myArray.push(o);
    });

    return myArray
};
});
相关问题