2015-07-12 1 views
0

У меня есть следующий массив, который я использую, чтобы заполнить выпадающее меню select, используя ng-options, но я не могу установить выбранную опцию при появлении выпадающего списка.Настройка выбранного элемента с использованием ng-параметров не работает

Вот массив данных

{ 
         'vehicle_year_id': 12, 
         'vehicle_color_id': 522, 
         'start_date': 'Thu Mar 26 2015 01:22:48 GMT+0000 (UTC)', 
         'end_date': 'Mon Sep 15 2014 14:37:15 GMT+0000 (UTC)', 
         'meta': { 
          'colors': [{ 'id': 522, 'caption': 'Green' }, { 'id': 523, 'caption': 'Blue' }], 
          'years': [{ 'id': 12, 'year': 2015 }, { 'id': 13, 'year': 2016 }] 
         }, 
         'quantity': 8, 
         'duration': 10 
        }, 

и частичный код

<select ng-model="details.vehicle_color_id" ng-init="details.vehicle_color_id || details.meta.colors[0].id" class="form-control" ng-options= "color.id as color.caption for color in details.meta.colors track by color.id">        
         </select> 

я могу увидеть список данных в списке, но выбранное поле не отображается на всех , Каков правильный способ использования этого параметра?

Update:

Я только что сделал следующие изменения

<select ng-model="details.vehicle_color_id" ng-init="details.vehicle_color_id=(details.vehicle_color_id || details.meta.colors[0].id)" class="form-control" ng-options= "color.id as color.caption for color in details.meta.colors" ng-change="getValue($index)">        
          </select> 

и использовал ПолучитьЗначение(), чтобы проверить значение модели и показывали правильные данные, а также значение по умолчанию является выбран. Мне любопытно, почему так происходит.

ответ

0

Ваш ng-init следует установить значение ng-model объема переменной

Markup

<select ng-model="details.vehicle_color_id" 
    ng-init="details.vehicle_color_id=(details.vehicle_color_id || details.meta.colors[0].id)" 
    class="form-control" 
    ng-options="color.id as color.caption for color in details.meta.colors" 
    ng-change="getValue($index)"> 
</select> 

Working Plunkr

+0

Спасибо, но это не работает для меня. Я все еще получаю ту же проблему – Bazinga777

+0

@ Bazinga777 посмотри мой обновленный ответ с plunkr –

+0

@ Bazinga777 вы посмотрели мой обновленный ответ? –