按属性的属性筛选ngOptions
Filtering ngOptions by properties of an attribute
我有这个代码:
//sample of data.
var combobox = new[] {
new { Key = 1, Value = "a[del]", isDelegate = true },
new { Key = 2, Value = "b[del]", isDelegate = true },
new { Key = 3, Value = "c", isDelegate = false },
new { Key = 4, Value = "d", isDelegate = false },
new { Key = 5, Value = "e[del]", isDelegate = true }
};
<select ng-model="selectedFilter" id="selectedFilter"
ng-options="item.Key as item.Value for item in ComboBox
track by item.Key" ng-change="loadData()">
<option>--</option>
</select>
我正在尝试将ng-if
添加到选项中,以获得如下结果:
<select ng-model="selectedFilter" id="selectedFilter"
ng-options="item.Key as item.Value for item in ComboBox track by item.Key" ng-change="loadData()">
<option value="item.Key" ng-if="item.isDelegate">{{item.Value}}</option>
</select>
您可以使用过滤器
var app = angular.module('my-app', [], function() {
})
app.controller('AppController', function($scope) {
$scope.condition = {
isDelegate: true
}
$scope.combobox = [{
Key: 1,
Value: "a[del]",
isDelegate: true
}, {
Key: 2,
Value: "b[del]",
isDelegate: true
}, {
Key: 3,
Value: "c",
isDelegate: false
}, {
Key: 4,
Value: "d",
isDelegate: false
}, {
Key: 5,
Value: "e[del]",
isDelegate: true
}];
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="my-app" ng-controller="AppController">
<select ng-model="selectedFilter" id="selectedFilter" ng-options="item.Key as item.Value for item in combobox | filter:condition track by item.Key" ng-change="loadData()">
<option value="item.Key" ng-if="item.isDelegate">{{item.Value}}</option>
</select>
</div>
我已经使用ng repeat完成了这项工作。
<select ng-model="val2" id="selectedFilter"
>
<option value="item.Key" ng-repeat="item in combobox" ng-
if="item.isDelegate">{{item.Value}}</option>
</select>
检查样本代码
Filter是一个选项,如果您不想用isDelegate显示选项=是的。
ng-options="item.Key as item.Value for item in ComboBox track by item.Key | filter: {isDelegate: true}"
但是,如果你想在选择列表中显示该选项为禁用,这样用户就无法选择它,请使用这个
<select ng-model="selectedFilter" id="selectedFilter" ng-change="loadData()">
<option ng-repeat="item in ComboBox" value="{{item.Key}}" ng-disabled="!item.isDelegate">{{item.Value}}</option>
</select>
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何连接数组中对象的两个属性以用作ngOptions中的标签
- 按属性的属性筛选ngOptions
- 对象数据源的AngularJS ngOptions表达式-是否可以将属性键存储在某个位置
- 如何将Angular js ngOptions与自定义属性一起使用