首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ng- angular.js仅显示唯一值的选项

使用ng- angular.js仅显示唯一值的选项
EN

Stack Overflow用户
提问于 2013-02-07 18:09:14
回答 4查看 55.5K关注 0票数 19

如果我有一个数组

代码语言:javascript
运行
复制
$scope.colors = [
{name:'black', shade:'dark'},
{name:'white', shade:'light'},
{name:'red', shade:'dark'},
{name:'red', shade:'dark'},
{name:'yellow', shade:'light'}

];

是否可以使用ng-options来构建一个在下拉列表中只有唯一值的select元素,这样red就只会显示一次?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-07 18:51:46

AngularUI提供了您所需要的“唯一”过滤器(src code)。

示例:

代码语言:javascript
运行
复制
ng-options="color in colors | unique:'name'"
票数 36
EN

Stack Overflow用户

发布于 2014-08-04 16:39:08

您可以使用angular.filter模块的uniq/uniq过滤器。

使用: collection | unique: 'property'collection | unique: 'nested.property'

JS:

代码语言:javascript
运行
复制
$scope.colors = [
 {name:'black', shade:'dark'},
 {name:'white', shade:'light'},
 {name:'red', shade:'dark'},
 {name:'red', shade:'dark'},
 {name:'yellow', shade:'light'}
];

HTML:

代码语言:javascript
运行
复制
<select ng-options="color in colors | unique:'name'"></select>
票数 12
EN

Stack Overflow用户

发布于 2015-02-12 04:02:05

我没有发现上面的回复是有效的。我做了以下工作:

我的ng-options是这样实现的:

代码语言:javascript
运行
复制
<select ng-model="test" ng-options="cand.candidate for cand in candidates  | unique:'candidate'">
   <option value="">Select Candidate</option>
</select>

将你的模块添加到你的应用中:

代码语言:javascript
运行
复制
var app = angular.module('phonecatApp', ['ui.unique']);

使用Bower只安装唯一的Ui Utils。Link to instructions.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14748440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档