Как получить доступ к раскрывающемуся значению UI-SELECT [AngularJS 1.4.7]

Я не могу получить доступ к выбранному раскрывающемуся значению в UI-Select. Как мне получить доступ к выбранным значениям в контроллере?

<ui-select name="optionType" ng-model="optionType.selected" theme="bootstrap"  append-to-body="true" reset-search-input="true">
  <ui-select-match placeholder="Option">
    <span ng-bind-html="ctrl.trustAsHtml($select.selected.type)"></span>
  </ui-select-match>
  <ui-select-choices repeat="option in optionTypes | filter: $select.search" position="down">
    <span ng-bind-html="ctrl.trustAsHtml(option.type) | highlight: $select.search"></span>
  </ui-select-choices>
</ui-select>

Контроллер:

$scope.optionType = {};

$scope.optionTypes =
  [
    {type: "Risk Reversal"},
    {type: "Straddle"},
    {type: "Strangle"},
    {type: "Spread"},
    {type: "VANILLA"}
  ]

person Ash Rhazaly    schedule 19.10.2017    source источник


Ответы (2)


Проверьте их «Объект как источник» пример

Вам нужно привязать его к повторению следующим образом:

<ui-select-choices repeat="item.type as item in optionTypes">
person michal.jakubeczy    schedule 19.10.2017
comment
Как вы получаете доступ к выбранным значениям в контроллере? - person Ash Rhazaly; 19.10.2017
comment
через ng-модель вы получаете весь выбранный объект - person michal.jakubeczy; 19.10.2017
comment
У вас есть рабочий плунжер? Я получаю неопределенность, когда я console.log(optionType.selected) - person Ash Rhazaly; 19.10.2017
comment
у меня их нет, но это официальная и это именно ваш случай - plnkr.co/ edit/ePktG1p8QCf0DbIlM03m?p=preview - person michal.jakubeczy; 19.10.2017

Там я не вижу необходимости использовать ng-bind-html, глядя на вашу коллекцию dropwon. Хотя, если вам это нужно, убедитесь, что у вас есть функция trustAsHtml внутри вашего контроллера $scope, а затем используйте trustAsHtml(selected.type) вместо ctrl.trustAsHtml(selected.type).

Без ng-bind-html

<ui-select name="optionType" ng-model="optionType.selected" theme="bootstrap" append-to-body="true" reset-search-input="true">
    <ui-select-match placeholder="Option">
      <span ng-bind="$select.selected.type"></span>
    </ui-select-match>
    <ui-select-choices repeat="option in optionTypes | filter: $select.search" position="down">
      <span ng-bind="option.type | highlight: $select.search"></span>
    </ui-select-choices>
</ui-select>

Демо здесь

person Pankaj Parkar    schedule 19.10.2017