【发布时间】:2014-01-30 06:00:56
【问题描述】:
我有以下代码,我试图通过选中玩家裤子尺寸的复选框来过滤数组中的玩家。
我知道我在转发器中有数据数组,然后在数据数组元素(两个不同的 div)之外的元素中进行过滤输入,这可能是导致断开连接的原因吗?因为我注意到当我将复选框添加到转发器元素时,当我单击复选框时,我确实得到了某种形式的反馈数组。
绑定一个搜索输入框很容易实现,但是我花了太多时间来获取这个简单的复选框来过滤数据。
因此,我现在向 Angular 社区寻求有关使用复选框进行过滤的一些帮助,因为文档并没有很好地涵盖这个主题。
这里是小提琴:http://jsfiddle.net/rzgWr/1/
<div ng-controller="MyCtrl">
<div>
<div ng-repeat="pants in players | groupBy:'pants'">
<b><input type="checkbox" ng-model="query"/>{{pants}}</b>
<span>({{(players | filter:pants).length}})</span>
</div>
<div>
<ul>
<li ng-repeat="player in players | filter:query">
<p><b>{{player.name}}</b></p>
<p>{{player.shirt}} {{player.pants}}, {{player.shoes}}</p>
</li>
</ul>
</div>
</div>
function MyCtrl($scope, filterFilter) {
$scope.players = [
{name: 'Bruce Wayne', shirt: 'XXL', pants: '42', shoes: '12'},
{name: 'Wayne Gretzky', shirt: 'XL', pants: '38', shoes: '10'},
{name: 'Michael Jordan', shirt: 'M', pants: '32', shoes: '9'},
{name: 'Player Two', shirt: 'XXL', pants: '42', shoes: '12'}
];
$scope.$watch('filtered', function (newValue) {
if (angular.isArray(newValue)) {
console.log(newValue.length);
}
}, true);
}
真诚感谢任何和所有帮助/建议。
谢谢。
【问题讨论】:
-
您的意思是当您搜索某些内容时,复选框旁边的绑定会更新?
标签: json angularjs checkbox filter