嗨,请你帮助我,我有一个角度js的情况,根据不同成员的年龄加载一个占用下拉列表,请看我代码snipet。
<select selectpicker ng-model="data.dataRequest.members[$index].occupation"
ng-options="occ.key as occ.value for occ in Lov.occupation track by occ.key">
我想写这样的东西,
但是我看到comaprison运算符没有在过滤器中工作,我甚至写了一个自定义过滤器但仍然没用。请帮忙。
答案 0 :(得分:1)
您可以使用filter
管道动态过滤职业列表
<select ng-model="data.dataRequest.members[$index].occupation"
ng-options="occ.key as occ.value for occ in Lov.occupation | filter: myCoolFiter track by occ.key">
控制器中的:
$scope.age = 13;
$scope.myCoolFiter = function(occupationItem){
// return true or false based on the logic
// for ex: return occupationItem.fromAge < $scope.age && $scope.age < occupationItem.toAge;
}
但是,为了能够在模板中使用filter
管道,Lov.occupation
应该是数组,而不是对象
注意强>
对于数组中的每个项, myCoolFilter
由角filter
管道调用。 filter
管道具有以下参数列表function(value, index, array)
。以下是docs了解详情
答案 1 :(得分:0)
您可以过滤控制器中的对象。只需将对象更改为数组。
为此:
$scope.newTable = []
`$scope.occupation.forEach(function(item) { newTable.push(item) })`
$scope.occupation = newTable