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