[英]Angularjs Filter ng-options for unique values
我想从ng-options过滤唯一值。 除了重复的条目外,我什么也没有。如果我是模型,我会得到一大堆空白行。 我制造了一个小家伙。 感谢您的协助。
提前致谢
http://plnkr.co/edit/UCI6mVHjEiyZTYUpQ18Y?p=preview
<select ng-options="c.metaInfo.subType for c in myArray">
这是工作中的柱塞
您的代码有几个问题:首先, myArray
既不是对象也不是数组,这是错误的语法,请改为检查我的。
然后,要使用ng-options
您还需要设置ng-model
。
JS:
var myApp = angular.module('myApp', []);
myApp.controller("Test", function($scope) {
$scope.myArray = [{
"type": "application/doc",
"url": "www.google.com",
"metaInfo": {
"subType": "doc",
"filesize": "60kb"
}
}, {
"type": "application/pdf",
"metaInfo": {
"subType": "pdf",
"filesize": "60kb"
}
}, {
"type": "application/xls",
"metaInfo": {
"subType": "xls",
"filesize": "60kb"
}
}, {
"type": "application/pdf",
"metaInfo": {
"subType": "pdf",
"filesize": "60kb"
}
}];
});
HTML:
<body ng-controller="Test">
<select ng-options="c.metaInfo.subType for c in myArray | unique:'metaInfo.subType'" ng-model="selected">
<option value="">All</option>
</select>
<p>Selected: {{selected || "None"}}</p>
</body>
要删除重复,你需要一个角模块,像这一次使用的过滤器unique
。
我已根据您的需要更新了Plunker。
您需要像这样更改您的html代码
<select ng-model="subType" ng-options="c.metaInfo.subType for c in myArray">
<option value="">All</option>
</select>
并且需要遵循数组语法。 使用以下代码:
$scope.myArray = [
{
"type": "application/doc",
"url": "www.google.com",
"metaInfo": {
"subType": "doc",
"filesize": "60kb"
},
},
{
"type": "application/pdf",
"metaInfo": {
"subType": "pdf",
"filesize": "60kb"
},
},
{
"type": "application/xls",
"metaInfo": {
"subType": "xls",
"filesize": "60kb"
},
},
{
"type": "application/pdf",
"metaInfo": {
"subType": "pdf",
"filesize": "60kb"
},
}
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.