如何根据angularJs中的用户输入过滤数组

时间:2017-10-12 11:41:15

标签: javascript angularjs

我有一个输入和一个表: -

<label>Label1:</label>
   <input type="text" ng-model="a.value" ng-change ="filterArray(a.value)"/>

<table cellpadding="0" cellspacing="0">
      <thead>
            <tr>
                <th>Branch Code</th>
            </tr>
      </thead>
      <tbody>
            <tr ng-repeat="row in arr track by $index">
                <td>{{row}}</td>
            </tr>
      </tbody>
 </table>

我有一个数组: - a。 arr = [11,1001,1300,AA61,1234,B675]

我想要的是当用户输入1然后a.arr变为[11,1001,AA61,1234]并且它显示在表格中。

如何实现这一目标?

1 个答案:

答案 0 :(得分:4)

此处不需要 ng-change ,您可以直接使用 filter

<强>样本

&#13;
&#13;
var app = angular.module('testApp',[]);
app.controller('testCtrl',function($scope){
   $scope.arr = ['11', '1001', '4300', 'AA61', '1234','B675'];
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="testApp" ng-controller="testCtrl">
<label>Label1:</label>
   <input type="text" ng-model="value" />

<table cellpadding="0" cellspacing="0">
      <thead>
            <tr>
                <th>Branch Code</th>
            </tr>
      </thead>
      <tbody>
            <tr ng-repeat="row in arr  | filter:value">
                <td>{{row}}</td>
            </tr>
      </tbody>
 </table>
 </body>
&#13;
&#13;
&#13;