AngularJs 条件显示 ng-options
AngularJs conditional display for ng-options
我已经搜索了几个小时,但我似乎在任何地方都找不到问题的答案。我记得我以前能够实现它,但由于某种原因我丢失了代码,我似乎不记得我做了什么来让它工作。
我正在尝试使用 ng 选项在选择框中显示数组中的数据。那个我没有问题。我需要实现的是,只有某些数组值将显示/包含在选择框中。
我的数据如下:
$scope.chartList = [ { "id" : 1, "name" : "chart 1", "order" : 1, "active" : false },
{ "id" : 2, "name" : "chart 2", "order" : 2, "active" : true },
{ "id" : 3, "name" : "chart 3", "order" : 3, "active" : true },
{ "id" : 4, "name" : "chart 4", "order" : 4, "active" : true },
{ "id" : 5, "name" : "chart 5", "order" : 5, "active" : true } ];
我的 HTML 看起来像:
<select ng-model="toAddChart" ng-options="chart.id as chart.name for chart in chartList | filter:chart.active=='false'">
<option value=""></option>
</select>
所以我想发生的是,如果属性"active"的值为 false,那么这是数组项目唯一一次显示/包含在选择列表中。我已经尝试了过滤器属性的不同排列,但似乎都没有奏效。
我知道我可以轻松地在标签中使用 ng-repeat 并使用 ng-show,但我记得在某处读到(再次,我找不到在哪里(这不是实现它的正确方法,使用 ng-options 是正确的方法。
我真的很确定我以前能够在不创建自定义 JavaScript 过滤器的情况下做到这一点,但对于我的生活,我不记得我是如何做到的。我希望有人可以
希望有人可以帮助我,因为我没有想法。
更新:
伟大的斯科特,我想我已经明白了。
而不是:
filter:chart.active=='false'
它应该是:
filter:chart.active='false'
这只是使用的等号数量。脸掌
谢谢大家的回复。
伟大的斯科特,我想我已经明白了。
而不是:
filter:chart.active=='false'
它应该是:
filter:chart.active='false'
这只是使用的等号数量。 脸掌
谢谢大家的回复。
嘿 相反,它更好地使用
ng-options="chart.id 作为图表中图表的 chart.name | 过滤器: {活动: true}">
这
行得通。
filter:chart.active==false
http://jsfiddle.net/H6AZ2/116/
相关文章:
- 使用angularjs ng Show/ng hide显示和隐藏不同的内容
- $scope变量,ng隐藏/显示
- AngularJS ng repeat显示原型函数未定义
- Angularjs ng-options selected value of dropdownlist
- Angularjs ng-options 问题仅适用于 Chrome 浏览器
- 尝试使用 AngularJS ng-repeat 显示 JSON 数据不起作用
- 角度ng重复显示应用过滤器之前的数据
- 有角度的ng消息显示ng重复表单上的错误
- Ng只显示互动的更新
- ng show显示所有项目
- 使用ng Show显示/隐藏按钮
- 如何在ng-options中添加两个索引,并使用Angular.js动态设置值
- 如何在使用 ng-repeat 显示表数据时放置条件新行
- AngularJs 条件显示 ng-options
- 使用ng-options with angular显示带有键和值的选择选项,并设置一个默认值
- 使用ng-options显示和保存时出现问题
- Angular用ng-options选择并显示一个值数组
- Ng-options显示名称但记录id
- Angular's ng-options没有正确显示默认值
- & lt; select>使用ng-options查询显示多个字段