Установите две «локальные» опции в ngSelect

0

Хорошо, поэтому я заполняю выпадающее меню со значениями из сервиса:

<select ng-model="things.thing" id="thing" name="thing"
        ng-options="thing.id as thing.description for thing in things" >
    <option value="" selected>Select a thing</option>
</select>

С json:

[ 
  {"id": 1, "description": "this is an option"},
  {"id": 2, "description": "second option right here"},
  {"id": 3, "description": "there are three even"},
  etc
]

Это обеспечивает следующее:

Изображение 174551

Но моя цель состоит в том, чтобы иметь дополнительную опцию "неизвестная вещь", которая после выбора активирует другое поле ввода с помощью ng-show, где пользователь может указать свою собственную вещь. Но когда я добавляю дополнительный <option> это игнорируется в результатах?

<option value="0">Add new thing</option>

Это результат: Изображение 174551

Никакой дополнительной опции. Могу ли я это сделать? Как мне заставить это работать?

Теги:

1 ответ

0
Лучший ответ

Вы можете попробовать повторить параметры вместо использования ng-repeat в select

<select ng-model="selectedThing" >
  <option value="Select a thing">Select a thing</option>
  <option ng-repeat="($thing_index, thing) in things track by $thing_index" ng-value="thing.description">{{thing.description}}</option>
</select>

В контроллере:

   $scope.selectedThing = 'Select a thing'
   $scope.things = [ 
      {"id": 1, "description": "this is an option"},
      {"id": 2, "description": "second option right here"},
      {"id": 3, "description": "there are three even"}
    ]
  • 0
    Это работает! Несмотря на то, что этот <select> теперь единственный в моем приложении, который не использует ng-select ... он все равно решил проблему. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню