MEDService.users("GET", "", {"action" : "getUsers"})
  .success(function(data, status, headers, config) {
    $scope.data1 = data;

У меня есть этот код, как я могу установить этот пункт (получить из Монго) в выберите на переднем конце? data1 имеет поля: имя пользователя, имя, пароль. Мне нужно просто имя пользователя

<select ng-model="??" style="display: block" >
    <option ng-selected="??"
            ng-repeat="??"
            value="???">
      ???
    </option>
</select>
2
Olga K 17 Дек 2015 в 18:50

3 ответа

Лучший ответ

Предполагая, что ваш data1 выглядит так

data1 = [
      {name:'Real Name1', username:'username1', password: 'secret'},
      {name:'Real Name2', username:'username2', password: 'secret'},
      {name:'Real Name3', username:'username3', password: 'secret'}
    ]

Пытаться

<select ng-model="selectedUser" ng-options="user.name for user in data1"></select>

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

<h2>{{selectedUser}}</h2>

В вашем html.

Рабочий пример: http://plnkr.co/edit/pggWiNO0TpIlCLOlFtzW

1
Boern 17 Дек 2015 в 16:06

Вы должны создать другое свойство в своей области, например selectedValue, а затем использовать эту разметку:

 <select ng-model="$scope.selectedValue">
     <option ng-repeat="option in $scope.data1" value="{{option.id}}">{{option.name}}</option>
 </select>
0
Sébastien Ollivier 17 Дек 2015 в 15:56

Как я понимаю, у вас есть что-то подобное:

$scope.data1 = [
   {username: 'olga', name: 'Olga K', password: 'querty'}, 
   ....
];

В результате вы получите username, в этом случае это значение olga.

Я вижу два решения, которые вы можете сделать

Первое решение для строкового массива , вы можете подготовить дату для просмотра.

$scope.data1 = $scope.data1.map(item => item.username);

Тогда ваш HTML может выглядеть так

<select ng-model="SELECTED_PROPERTY" ng-options="o as o for o in data1"></select>

Вторая душа когда у вас есть массив объектов

<select ng-model="SELECTED_PROPERTY" ng-options="o.username as o.name for o in data1"></select>

ПРИМЕЧАНИЕ: если вы никогда не используете другие свойства объекта, первое решение лучше использовать по причине небольшого количества оперативной памяти.

0
Egor Malkevich 17 Дек 2015 в 16:29