2014-12-24 5 views
0

Я относительно новичок в AngularJS. Изучайте каждый бит. Я работаю над KnockoutJS пару лет и считаю удобным работать на JavaScript.Угловой JS установлен по умолчанию выбранный вариант в выпадающем списке

Я работаю над простым приложением диспетчера задач, которое имеет следующий JSON в результате вызова API для отдельной задачи.

{ 
         "Id": 1, 
         "title": "Culpa nisi irure qui consectetur non reprehenderit incididunt mollit voluptate culpa enim.", 
         "description" : "test description", 
         "owner": "Hunter Mcdonald", 
         "priority": 1, 
         "isActive": false, 
         "picture": "http://placehold.it/100x100", 
         "registered": "2014-12-29T17:13:33" 
        } 

Смысл приоритетных значений:

- Высокое, - нейтральный, -1 - низкий

Значение, которое я получаю от сервера строго в числовые.

Однако при создании формы редактирования я хочу показать эти приоритеты в понятном для пользователя тексте, т.е. «H кайф», "Low", "Normal"

enter image description here

Я создал массив объектов для достижения этой цели -

vm.priorityOptions = [ 
    { name: "low", value: -1 }, 
    { name: "normal", value: 0 }, 
    { name: "high", value: 1 } 
]; 

Теперь я хочу, чтобы выбрать выбранный по умолчанию приоритет ответа API I получите это "priority" : 1. Поскольку это числовое значение, я не знаю, как я могу выбрать выбранную по умолчанию опцию в vm.priorityOptions

Любая помощь или полезный сниппет на том же самом?

+0

С ng-моделью в избранном, например, как. <выберите ng-model = "responseObject.priority"> .. попробуйте это, он должен работать. – cjmling

+0

вы также можете использовать дорожку на случай, если вы хотите связать полный объект, но сервер дает вам только часть значения – harishr

ответ

2

Вы можете использовать ngOptions директиву <select>:

<select ng-options="item.value as item.name for item in vm.priorityOptions" 
     ng-model="vm.data.priority"> 
</select> 

Вот рабочий plunker.

+0

это сработало .. достаточно просто –

2

вы можете легко достигнуть этого с помощью нг-модель

<select ng-model="serverResponse.priority"> 
     <option ng-repeat="item in priorities" value="{{item.value}}">{{item.name}}</option> 
</select> 

serverResponse.priority будет выбран автоматически

+1

Спасибо за внимание и помощь :-) –

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