2016-09-20 71 views
-1

我想创建ngOptions select元素 - 到目前为止好:角ngOptions跟踪的对象键

<select ng-options="currency for (code, currency) in currencies track by code" 
     ng-model="something.currency"></select> 

现在我想跟踪由对象键的选项(所以ng-model的价值应该是关键而不是对象的价值)。这是否可能以一些简单的方式以及如何实现?

回答

2

这是你在找什么?

var myApp = angular.module('myApp',[]); 
 

 
myApp.controller('GreetingController', ['$scope', function($scope) { 
 
    $scope.currencies_old = [ 
 
    {code: "USD", curr: "$"}, 
 
    {code: "IND", curr: "INR"} 
 
    ]; 
 
    $scope.currencies = {"USD": "USDollars", "EUR": "Euro"}; 
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="GreetingController"> 
 
<select ng-model="item" ng-options="key as value for (key , value) in currencies"></select> 
 
Code: {{item}} 
 
    
 
<br/> <br/> 
 
<select ng-options="item as item.curr for item in currencies_old track by item.code" ng-model="item_old"></select> 
 
Code: {{item_old.code}} 
 
</div>

+0

没有那是 “简单的方法”。我的意思是一个像“{”USD“:”美元“,”欧元“:”欧元“} – JSHelp

+0

@JSHelp构建的对象:我已根据您定义的对象更新了代码。如果您仍然发现任何问题,请检查并通知我。 –

+0

是的,就是这样。奇怪的是,这就是我的实现方式,只是它'ngModel'总是返回值而不是密钥,但是这证明它应该起作用,所以我会将其标记为正确的解决方案。 – JSHelp