我有以下代码:
<select name="condition"
ng-options="operation.id as operation.description for operation in Operators | myfilter:criterion_id" >
</select>
和
module.filter('myfilter', function () {
return function (x) {
return ?????
};
});
我想使用operation.id
等于 criterion_id
的选项填充我的选择列表。我怎么能实现这个目标呢?
答案 0 :(得分:2)
您无需制作自己的过滤器,Angular的默认filter
将起作用:
<select name="condition"
ng-options="operation.id as operation.description for operation in Operators | filter:{id:criterion_id}" >
</select>
答案 1 :(得分:1)
您应该根据条件过滤数组并返回已过滤的数组。
module.filter('myfilter', function () {
return function (arrayOptions, criterion_id) {
var result = [];
result = arrayOptions.filter(function(operation){
return (operation.id == criterion_id);
})
return result;
};
});
但是如果使用数据操作的复杂过滤过程,你应该这样做,否则你应该使用Angular中的过滤器filter
。
Operators | filter: {id: criterion_id}
答案 2 :(得分:0)
我刚刚在这里写了一些代码..请检查一下: http://jsfiddle.net/k86sy0ku/1/
<select
ng-options="p as p.first for p in people | filter:{id:FilterId}"
ng-model="selectedPerson"></select>