AngularJS ng-options с несколькими полями
У меня есть коллекция объектов с информацией о пользователе.
"Id": "1",
"Firstname": "ABCDEF",
"Lastname": "GHIJK",
"Middlename": ""
В моих опциях выбора я хочу отобразить два поля - Firstname Lastname
. Я не понимаю, как это сделать и как привязать его к ng-model
.
Ответы
Ответ 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>