javascript - Angularjs 过滤 ng-options 以获得唯一值

标签 javascript angularjs

我想从 ng-options 中过滤唯一值。除了重复的条目,我什么也得不到,如果我是一个模型,我会得到一大堆空白行。我创建了一个plunk。感谢您的帮助。

提前致谢

http://plnkr.co/edit/UCI6mVHjEiyZTYUpQ18Y?p=preview

<select ng-options="c.metaInfo.subType for c in myArray">

最佳答案

这是工作 Plunker

您的代码有几个问题:首先 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>

要删除重复项,您需要像 this one 这样的 Angular 模块使用过滤器 unique

我用你需要的一切更新了 Plunker。

关于javascript - Angularjs 过滤 ng-options 以获得唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153876/

相关文章:

javascript - 格式化电话号码(去除空格并替换第一个数字,如果它是 0)

html - Angular : How to change the color of cell table if condition is true

javascript - 当我调用 onClick 函数时如何隐藏删除按钮

javascript - Facebook 如何将此格式化文本放入 JavaScript 控制台?

javascript - 将函数的名称存储在 JSON 文件中,然后能够从脚本中加载和调用它?

javascript - AngularJS 1.3 - 为什么表单在加载时有效,对于最小长度的输入?

javascript - 标签文本搞砸了纯 CSS 选择

angularjs - Ionic-单击标题按钮未获取表单数据

javascript - 如何在 Chrome 扩展弹出窗口中读取语音输入?

javascript - 当父组件更改属性时,子组件不会更新参数@Input