我自己有一个带有filters here的angularjs样本,我可以使用true
比较器过滤完全匹配的值,
<table>
<tr ng-repeat="user in users | filter:{name: name, phone: phone} : true">
<td>{{user.name}}</td>
<td>{{user.phone}}</td>
<td>{{user.secret}}</td>
</tr>
</table>
使用angularjs版本1.1.5
时,组合过滤器效果很好,因为当用户过滤并返回--select--
位置时,它会为其他angularjs版本返回null。
答案 0 :(得分:0)
您可以看到更新的demo。它可以满足您的要求。我已经在javascript中更新了AngularJS 1.4.8。
HTML代码
<div ng-app="plunker">
Name: <select ng-model="name">
<option value="">select</option>
<option value="John1">John1</option>
<option value="Mike">Mike</option>
</select>
Phone: <select ng-model="phone">
<option value="">select</option>
<option value="555-1276">555-1276</option>
</select>
<table>
<tr ng-repeat="user in users | filter:{name: name, phone: phone} : true">
<td>{{user.name}}</td>
<td>{{user.phone}}</td>
<td>{{user.secret}}</td>
</tr>
</table>
<强> JS 强>
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.users = [{name:'John1', phone:'555-1276', secret:'shhh'},
{name:'John1', phone:'800-BIG-MARY', secret:'psst'},
{name:'Mike', phone:'555-4321', secret:'shhh'},
{name:'Adam', phone:'555-5678', secret:'shhh'},
{name:'Julie', phone:'555-8765', secret:'shhh'}];
});
答案 1 :(得分:0)
在使用ng-repeat = "user in users"
时与user.name匹配,而不是名称。