2013-09-30 1 views
0

Я следующий объект:Как я могу заставить AngularJS 1.2 rc хранить фактические значения в <select>?

[ 
    {"id":"150c67d4-952b-45b0-b287-f651a5f6d82b","name":"xx"}, 
    {"id":"9001f011-3a0c-4d45-a0fb-eabb4c83ff83","name":"yy"}, 
    {"id":"9b8b93af-cfef-451a-8dda-7373d9154f60","name":"zz"} 
] 

Вот мой HTML:

<select 
    data-ng-model="option.selectedCreatedBy" 
    data-ng-options="item.id as item.name for item in option.userProfilesPlus"> 
    <option style="display: none" value="">Select User</option> 
</select> 

Результат:

<select 
    data-ng-model="option.selectedCreatedBy" 
    data-ng-options="item.id as item.name for item in option.userProfilesPlus" 
><option style="display: none" value="" class="">Select User</option> 
<option value="0" selected="selected">*</option> 
<option value="1">xx</option> 
<option value="2">yy</option> 
<option value="3">zz</option></select> 

Как я могу сделать это так, что значения, сохраненные являются фактическими id?

+1

Поле значения в 'option' не имеет значения до тех пор, пока вы получаете доступ по модели' option.selectedCreatedBy', вы получите реальный идентификатор, определенный в объекте. – zsong

ответ

-1

Когда вы используете ng-option для создания списка опций, у вас нет контроля над значениями, сгенерированными для параметров. Для массива это индекс в массив.

Если вы хотите иметь определенное значение в поле опции, вы должны использовать для этого ng-repeat.

В любом случае, вы не должны беспокоиться о специфике созданного html, угловой может корректно обновлять модель в любом случае.

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