首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angularjs筛选ng-按已选择的选项选择

angularjs筛选ng-按已选择的选项选择
EN

Stack Overflow用户
提问于 2018-07-31 14:35:11
回答 1查看 102关注 0票数 0

因此,我有一个基于我收到的JSON的md-select。这些选项具有一个"type“属性,我可以对其进行筛选,如下所示:

代码语言:javascript
复制
$scope.data = [
    {name:"1-1",Id:1,type:1},
    {name:"2-2",Id:2,type:2}, 
    {name:"3-2",Id:3,type:2},
    {name:"4-2",Id:4,type:2},
    {name:"5-3",Id:5,type:3},
    {name:"6-3",Id:6,type:3}
];
代码语言:javascript
复制
<md-select multiple class="form-control" ng-model="selectedIds"> 
    <md-option ng-value="item.Id" ng-repeat=""item as (item.Name) for item in data">
        {{item.Name}}">
    </md-option>
</select>

但是我需要的是使用在同一下拉列表中已经选择的选项来筛选显示在select中的选项。因此,如果我选择" 3-2“选项,下拉菜单将只显示"2-2,3-2和4-2”。我怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 19:07:04

可以使用this other question找到解决方案:在更改时,我使用选定的Id使用筛选器获取所选类型,然后将类型用作选项的筛选器。另外,如果没有选择任何选项,则应该将"selectedType“设置为空,否则将按第一个选项的类型进行筛选。

代码语言:javascript
复制
<md-select multiple class="form-control" ng-model="selectedIds"
ng-change="selectedType=(selectedIds.length=0)?'':(data|filter:{Id:selectedIds})[0].type"> 
    <md-option ng-value="item.Id" ng-repeat="item in data | filter : selectedType">
        {{item.Name}}">
    </md-option>
</select>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51615939

复制
相关文章

相似问题

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