我试图让我的用户使用复选框过滤我的结果数组。
我刚刚进入 Angular JS 框架工作,不太确定如何处理我的场景。
我正在尝试确定我正在做的事情是否可能以我接近它的方式进行,或者我是否只需要编写一个自定义过滤器函数。
我整理了一个简单的 jsfiddle 来说明我的问题。
http://jsfiddle.net/arkleyjoe/7jUp6/
这是标记:
<div ng-app="">
<div ng-init="friends = [{name:'John', phone:'555-1276'},
{name:'Mary', phone:'800-BIG-MARY'},
{name:'Mike', phone:'555-4321'},
{name:'Adam', phone:'555-5678'},
{name:'Julie', phone:'555-8765'}]"></div>Exclude Johns
<input ng-model="search.name" name="name" type="checkbox"
ng-true-value="!John" ng-false-value="">
<br>Exclude Adams
<input ng-model="search.name" name="name" type="checkbox"
ng-true-value="!Adam" ng-false-value="">
<br>
<table id="searchObjResults">
<tr>
<th>Name</th>
<th>Phone</th>
<tr>
<tr ng-repeat="friend in friends | filter:search">
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<tr>
</table>
</div>
在此示例中,我使用复选框从列表中过滤某些名称。如果我选择一个或另一个,它工作正常,但我想同时选择。Angular JS 显然在幕后做了一些事情,因为它实际上阻止了我选择两个框。