繁体   English   中英

AngularJS过滤ng-options获得唯一值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM