Подтвердить что ты не робот

AngularJS ng-options с несколькими полями

У меня есть коллекция объектов с информацией о пользователе.

"Id": "1",
"Firstname": "ABCDEF",
"Lastname": "GHIJK",
"Middlename": ""

В моих опциях выбора я хочу отобразить два поля - Firstname Lastname. Я не понимаю, как это сделать и как привязать его к ng-model.

4b9b3361

Ответ 1

Вы можете попробовать следующее:

<select 
  name="users" 
  ng-model="selectedUser" 
  ng-options="user.Id as user.Firstname + ' ' + user.Lastname for user in users">
</select>

Дополнительная информация здесь: http://docs.angularjs.org/api/ng.directive:select

Ответ 2

Рассмотрение формата вашего объекта массива будет таким.

$scope.userInfo = [
                    {"Id": "1", "Firstname": "ACDEF", "Lastname": "GHIJK", "Middlename": ""},
                    {"Id": "2", "Firstname": "BADEF", "Lastname": "HIGJK", "Middlename": ""},
                    {"Id": "3", "Firstname": "CDBEF", "Lastname": "IIHJK", "Middlename": ""},
                ]

Вы можете отобразить два поля, подобные этому, и привязать его к модели, как показано ниже.

<select ng-model="userInfo" ng-options="s.Firstname +' '+ s.Lastname for s in userInfo" class="span2"> </select> 

Ответ 3

Просто дополнительное обновление,

Мне нужно было показать Фамилию, заключенную в скобки, вот как я изменил ответ и получил его работу.

<select 
   name="users" 
   ng-model="selectedUser" 
   ng-options="user.Id as user.Firstname + ' (' + user.Lastname + ') ' for user in users">
</select>