2015-07-13 2 views
0

Это то, с чем я боролся довольно долгое время. Моя цель - заполнить поле выбора переменным списком приветствий и автоматически выбрать первый вместо простого пробела.Автоматическое создание опций и выбор первого результата

<label>Check me to select: <input type="checkbox" ng-model="selected"> 
</label><br/> 

<select> id="greetings"> 
    <option ng-repeat="greeting in MyCtrl.greetingList" 
      ng-selected="selected">{{ greeting }}</option> 
</select> 

нг выбранной директива (и действительно выбранный атрибут, который будет на самом деле быть более простым решением) действительно выбрать элемент из списка загрузки формы, но всегда по умолчанию последнего элемента в списке , Возможно, я мог бы захватить первый элемент в списке и сгенерировать остальные, но я не могу не думать, что есть более элегантное решение. Есть идеи?

Кстати, я знаю, что ng-options лучше, чем ng-repeat. Проблема в том, что мне нужно, чтобы каждый из моих опций имел директиву ng-click. Я не могу этого добиться с помощью ng-options.

+0

Простейший способ - просто использовать 'ng-options' и установить значение для' ng-model' для первого элемента в массиве в контроллере – charlietfl

ответ

0

Вы должны попробовать $first плюс назначить model для выбора. таким образом

<select data-ng-model="greetings"> 
    <option data-ng-repeat="greeting in MyCtrl.greetingList" 
       data-ng-selected="$first" data-ng-value={{greeting.id}}>{{ greeting }}</option> 
</select> 

Есть также некоторые специальные свойства. Все они, как показано ниже

$index

$first

$middle

$last

$even

$odd

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