我正在尝试使用ng-options在一个数组中显示数据,我希望过滤它不起作用。我不想显示有billHeadShortForm = FEC&的对象。 FDG
这是我的HTML
<select class="form-control" ng-init="getBillHeadCurrentProjWise()" ng-model="headID" ng-options="h.billHeadID as h.billHead for h in billHeadsProjWise | filter:h.billHeadShortForm!='FEC' | h.billHeadShortForm!='FDG'">
<option value="">--Select Billing Head--</option>
</select>
答案 0 :(得分:1)
我找到了解决方案
$scope.myFunction = function (Billhead) {
if (Billhead.billHeadShortForm == 'FEC' || Billhead.billHeadShortForm == 'FDG' || Billhead.billHeadShortForm == 'GL') {
return false;
} else {
return true;
}
}
ng-options="h.billHeadID as h.billHead for h in billHeadsProjWise | filter:myFunction"
答案 1 :(得分:0)
将ng-options
的过滤器部分调整为以下内容:
ng-options="... | filter: {billHeadShortForm: '!FEC'} | filter: {billHeadShortForm: '!FDG'}"
参见 fiddle
虽然,您可能需要阅读filter documentation,并编写一个函数以避免使用两个过滤器。
修改强>
该功能可能是这样的:
$scope.filterBillHead = function (billHead) {
// Exclude 'FEC' and 'FDG'
// return true if billHeadShortForm is not in the array, false otherwise
return ['FEC', 'FDG'].indexOf(billHead.billHeadShortForm) < 0;
}
模板:
ng-options="... | filter: filterBillHead"