2015-03-27 3 views
2

У меня проблема с ng-options. Я не могу избавиться от пустой опции в моем выборе ng-options.не удалось удалить пустую опцию с опциями ng

У меня есть два объекта выбора, оба с ng-options. Отображаемые параметры второго выбора основаны на первом. Когда я меняю параметры первого выбора, второй изначально отображает пустой параметр.

Я пробовал несколько решений, но не могу это исправить.

мой объект:

$scope.mySpecs = { 
    "1": { 
     "name": "Name 1", 
     "options": { 
      "1": "option 1", 
      "2": "option 2", 
      "3": "option 3" 
     } 
    }, 
    "5": { 
     "name": "Name 5", 
     "options": { 
      "6": "option 6", 
      "7": "option 7", 
      "8": "option 8" 
     } 
    } 
}; 

и два моих выбирает:

<select ng-model="selectedSpecs.name" ng-options="k as v.name for (k, v) in mySpecs" ng-change="setVals()"> 
    </select> 

    <select ng-model="selectedSpecs.option" ng-options="k as v for (k, v) in mySpecs[selectedSpecs.name].options"></select> 

Вот скрипку:

https://jsfiddle.net/byvpx7mn/3/

Спасибо за вашу помощь!

+0

Проверить этот раз - https://jsfiddle.net/byvpx7mn/4/. Это то, чего вы ожидаете? –

ответ

6

Вы можете использовать одну вещь Object.keys и выбрать 0-й ключ.

$scope.selectedSpecs.name = Object.keys($scope.mySpecs)[0]; 

И если вы не хотите, чтобы нуль во втором select устанавливал первый вариант ошибки.

<option value="" ng-if="false"></option> 

Fiddle

+1

Вот и все! Великий! спасибо большое @squiroid – camiel

+0

большое счастливое кодирование :-) – squiroid

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