2016-02-05 28 views
1

我只想在列名或數字中搜索,目前我只在列名中搜索。在特定的多個表達式中過濾angular js

<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> 
+0

這是什麼意思。更具體?切換您搜索或匹配任一列的列?如果是後者,則需要自定義過濾器 – charlietfl

回答

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 
}; 
}); 
相關問題