首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ng-options中过滤

在ng-options中过滤
EN

Stack Overflow用户
提问于 2016-03-04 21:25:37
回答 2查看 103关注 0票数 0

我有两个带有ng-options的选择。我想让第二个select遍历所选namevalues字段。

我找到的唯一解决方案是选择对象本身,而不仅仅是第一个select中的name字段(类似于d as d.name for d in data),但为了一致性,我不这么做。

我可以使用一个过滤器或类似的东西来解决这个问题吗?

代码语言:javascript
复制
angular.module("App", []).controller("Ctrl", function($scope) {
  $scope.data = [{ 
    name : "john",
    values : ["Hello", "World"]
   }, {
    name : "peter",
    values : ["Bonjour", "le", "monde"]
   }];
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="App" ng-controller="Ctrl">
<label>Name :</label>
<select ng-model="name" ng-options="d.name as d.name for d in data"></select>
<label>Value :</label>
<select ng-model="value" ng-options="d as d for d in data"></select>
</div>

EN

回答 2

Stack Overflow用户

发布于 2016-03-04 21:38:21

像这样吗?

代码语言:javascript
复制
angular.module("App", []).controller("Ctrl", function($scope) {
  $scope.data = [{ 
    name : "john",
    values : ["Hello", "World"]
   }, {
    name : "peter",
    values : ["Bonjour", "le", "monde"]
   }];
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="App" ng-controller="Ctrl">
<label>Name :</label>
<select ng-model="name" ng-options="d.name for d in data"></select>
<label>Value : </label>
<select ng-model="value" ng-options="d as d for d in name.values"></select>
</div>

票数 0
EN

Stack Overflow用户

发布于 2016-03-04 21:41:04

我不确定是否有更好的方法,但这是一个可行的方法:

代码语言:javascript
复制
angular.module("App", []).controller("Ctrl", function($scope) {
  $scope.data = [{ 
    name : "john",
    values : ["Hello", "World"]
   }, {
    name : "peter",
    values : ["Bonjour", "le", "monde"]
   }];
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="App" ng-controller="Ctrl">
<label>Name :</label>
<select ng-model="name" ng-options="d.name as d.name for d in data"></select>
<label>Value :</label>
<select ng-model="value" ng-repeat="d in data" ng-if="name === d.name" ng-options="val for val in d.values"></select>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35797235

复制
相关文章

相似问题

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