NG选项,而不是显示angular.js独特的过滤网 [英] ng-options and unique filter not displaying angular.js
本文介绍了NG选项,而不是显示angular.js独特的过滤网的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的javascript我有一个数组
In my javascript I have an array
$scope.quoteList =
[
{
select: false,
laymansDescription: "Nathan",
quoteNumber: "ING-70440-21",
version: "02",
quoteDate: "Feb 5,2013",
expirationDate: "Aug 5,2013",
internalNotes: "This quote is using test data",
},
{
select: false,
laymansDescription: "Mitch",
quoteNumber: "ING-70440-01",
version: "02",
quoteDate: "Feb 5,2013",
expirationDate: "Aug 5,2013",
internalNotes: "This quote is using test data",
},
{
select: false,
laymansDescription: "Stephen",
quoteNumber: "ING-70440-01",
version: "02",
quoteDate: "Feb 5,2013",
expirationDate: "Aug 5,2013",
internalNotes: "This quote is using test data",
}
];
和我试图做一个选择,将只显示独特quoteNumbers IE浏览器。 ING-70440-21和ING-70440-01。然而,当我尝试使用独一无二选项棱角分明,没有什么显示出来。
And I am trying to make a selector that will only show unique quoteNumbers ie. ING-70440-21 and ING-70440-01. However when I try to use the 'unique' option in angular, nothing is showing up.
<select class="form-control" ng-options="quote.quoteNumber for quote in quoteList | unique:'quoteNumber'" ng-model="quoteModel1" />
它工作正常,没有唯一的标签。我究竟做错了什么?我pretty新角所以它可能是很简单的东西。
It works fine without the unique tag. What am I doing wrong? I pretty new to angular so it might be something really simple.
推荐答案
AngularJS没有一个内置的唯一
过滤器。你可以做这样的事情,使你自己的:
AngularJS does not have a built-in unique
filter. You can do something like this to make one of your own:
app.filter('unique', function() {
return function(input, key) {
var unique = {};
var uniqueList = [];
for(var i = 0; i < input.length; i++){
if(typeof unique[input[i][key]] == "undefined"){
unique[input[i][key]] = "";
uniqueList.push(input[i]);
}
}
return uniqueList;
};
});
这篇关于NG选项,而不是显示angular.js独特的过滤网的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文