Как получить идентификатор выбранной опции в ng-модели - PullRequest
1 голос
/ 02 апреля 2020

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

<div>
    <select class="custom-select" multiple id='select-user' ng-model='SelectedOptions'>
        <option ng-repeat='app in data.arr track by $index' value={{app.name}} id={{app.id}}>{{app.name}}</option>
    </select>

    <button ng-click='selectedServers(SelectedOptions)' class='rightBtn'><i class="fa fa-arrow-right" aria-hidden="true"></i></button>
</div>
$scope.selectedServers = function (options) {
    for (i = 0; i < options.length; i++) {
        $scope.datas.push(options[i]);
    }
    console.log($scope.datas)//getting only option value
}

Здесь мне нужно получить id выбранной опции, а также pu sh в массив $scope.datas вместе со значением параметра.

Как передать идентификатор выбранного параметра со значением?

1 Ответ

1 голос
/ 02 апреля 2020

Использовать ng-options с синтаксисом as-for-in:

angular.module("myApp", [])
  .controller("myCtrl", function($scope) {
    $scope.data= [{
      name: 'opt1',
      id: 'id1'
    }, {
      name: 'opt2',
      id: 'id2'
    }, {
      name: 'opt3',
      id: 'id3'
    }];
    
    
    $scope.selectedServers = function() {      
      // Here you have the selected options with both name and id
      console.log($scope.selected);
    }
  })
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
  <select class="custom-select" multiple id='select-user' ng-model="selected" ng-options='s as s.name for s in data'>
  </select>

  <button ng-click='selectedServers()' class='rightBtn'><i class="fa fa-arrow-right" aria-hidden="true"></i>Get options</button>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...