2016-09-20 6 views
-1

Я хотел бы создать отборный элемент с ngOptions - до сих пор так хорошо:Угловое 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 »:« Доллары США »,« EUR »:« Евро »}' – JSHelp

+0

@JSHelp: Я обновил код в соответствии с вашим определенным объектом. Проверьте и дайте мне знать, если у вас все еще есть проблемы. –

+0

Да, все. Как ни странно, это то, как я его реализовал, только то, что он «ngModel» всегда возвращал значение вместо ключа, но это доказывает, что он должен работать, поэтому я буду отмечать его как правильное решение. – JSHelp

 Смежные вопросы

  • Нет связанных вопросов^_^