Я немного запутался с Angular и ng-options
.
У меня есть простой массив, и я хочу, чтобы начать выбор с ним. Но я хочу, чтобы значение параметра = метка.
script.js
$scope.options = ['var1', 'var2', 'var3'];
HTML
<select ng-model="myselect" ng-options="o for o in options"></select>
Что я получаю:
<option value="0">var1</option>
<option value="1">var2</option>
<option value="2">var3</option>
Что я хочу:
<option value="var1">var1</option>
<option value="var2">var2</option>
<option value="var3">var3</option>
Итак, я попробовал:
<select ng-model="myselect2" ng-init=0 ng-options="options[k] as v for (k,v) in options"></select>
<select ng-model="myselect3" ng-init=0 ng-options="b as b for b in options"></select>
(Но это не сработало.)
Редактировать:
Моя форма отправляется извне, поэтому мне нужно «var1» в качестве значения вместо 0.
источник
value
по своемуselect
.Вы можете использовать
ng-repeat
сoption
таким:Когда вы отправляете свои,
form
вы можете получить скрытые значения ввода.DEMO
нг-выбран нг-повтор
источник
Вы могли бы использовать что-то вроде
используя ng-selected, вы предварительно выбираете опцию, если myselect был предварительно заполнен.
В любом случае, я предпочитаю этот метод, а не ng-options, так как ng-options работает только с массивами. ng-repeat также работает с json-подобными объектами.
источник
ng-options
также работает с объектными источниками данных. См. Docs.angularjs.org/api/ng/directive/selectЕсли вы установите свой выбор, как показано ниже:
ты получишь:
рабочая скрипка: http://jsfiddle.net/x8kCZ/15/
источник
$ scope.option будет равен 'var1' после изменения, даже если вы видите значение = "0" в сгенерированном html
plunker
источник