我有一个用于过滤数据列表的下拉列表。
我还有一个计数器(位于下拉列表下方),显示过滤器返回了多少结果。
但是,是否可以将计数器附加到下拉列表中的每个选项?因此,下拉选项看起来像这样......
Show all (6)
Show x (2)
Show y (1)
Show z (3)
目前每个选项总是显示相同的数字(见下文),因为它只获得当前的过滤值...
Show all (6)
Show x (6)
Show y (6)
Show z (6)
是否可能,或者我对过滤器的期望过高?
以下是我的意思:Example
答案 0 :(得分:1)
您可以按照以下方式获得:
在控制器中添加以下功能:
$scope.getCount = function(rating){
var count = 0;
var list = $filter('filter')($scope.data, {'rating' :rating}, true);
if(list != null){
count = list.length;
}
return count;
};
更新html中的代码,如下所示:
ng-options="item.name + ' (' + (getCount(item.rating)) + ') ' for item in filterOptions.stores">
更新了Plunker:http://plnkr.co/edit/Q5Vs1mqomQJWmZdxRRxp?p=preview
希望这会有所帮助!!