2016-09-20 68 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