Я видел документацию по угловой директиве select здесь: http://docs.angularjs.org/api/ng.directive:select . Я не могу понять, как установить значение по умолчанию. Это смущает:
выбрать в качестве метки для значения в массиве
Вот объект:
{
"type": "select",
"name": "Service",
"value": "Service 3",
"values": [ "Service 1", "Service 2", "Service 3", "Service 4"]
}
HTML (рабочий):
<select><option ng-repeat="value in prop.values">{{value}}</option></select>
и затем я пытаюсь добавить атрибут ng-option внутри элемента select, чтобы установить его prop.value
как параметр по умолчанию (не работает).
ng-options="(prop.value) for v in prop.values"
Что я делаю не так?
ng-option
вытесняет<option ng-repeat="value in prop.values">{{value}}</option>
еще раз спасибо<select ng-model="limit" value="10" ng-options="v for v in [5,10,15,20,30,50]"></select>
В угловой документации для select * этот вопрос не дается явно, но он есть. Если вы посмотрите на
script.js
, вы увидите это:Это HTML:
Похоже, это более очевидный способ по умолчанию для выбранного значения на
<select>
сng-options
. Также это будет работать, если у вас разные метки / значения.*
Это из Angular 1.2.7источник
Этот ответ более полезен, когда вы переносите данные из БД, вносите изменения, а затем сохраняете изменения.
Проверьте пример здесь:
http://plnkr.co/edit/HrT5vUMJOtP9esGngbIV
источник
источник
Если ваш массив объектов сложен, как:
И ваша текущая модель была установлена на что-то вроде:
Это помогло использовать
track by
функцию в uuid (или любом уникальном поле), если в ng-model = "user.friend" также есть uuid:источник
Я боролся с этим в течение пары часов, поэтому я хотел бы добавить некоторые пояснения к нему, все примеры, отмеченные здесь, относятся к случаям, когда данные загружаются из самого сценария, а не из службы или базы данных, поэтому я хотел бы предоставить свой опыт для тех, кто имеет ту же проблему, что и я.
Обычно вы сохраняете только идентификатор нужной опции в вашей базе данных, так что ... давайте покажем это
service.js
controller.js
Наконец, частичный html model.html
в основном я хотел указать, что кусок " model.id_model в качестве model.name для модели в моделях " " model.id_model " использует идентификатор модели для значения, чтобы вы могли сопоставить с " mainObj.id_model ", который также « selected_model », это просто обычное значение, также « as model.name » - метка для повторителя, наконец, « модель в моделях» » - это обычный цикл, о котором мы все знаем.
Надеюсь, это кому-нибудь поможет, и если это так, пожалуйста, проголосуйте: D
источник
mainObj.id_model
direct (ng-model="mainObj.id_model"
), а не использовать переменную placeholder / plain valueselected_model
Просто добавьте опцию с пустым значением. Это сработает.
ДЕМО Плнкр
источник
<option value="" disabled>Please Select</option>
Более простой способ сделать это - использовать data-ng-init следующим образом:
Основное отличие здесь в том, что вам нужно будет включить
data-ng-model
источник
Нг-модель атрибут устанавливает выбранный вариант , а также позволяет трубе фильтр как OrderBy: orderModel.value
index.html
controllers.js
источник
angular.js:117 TypeError: a.forEach is not a function
. Есть предположения?Если кто-либо использует значение по умолчанию, которое иногда не заполняется на странице в Chrome, IE 10/11, Firefox, попробуйте добавить этот атрибут в поле ввода / выбора, проверяя заполненную переменную в HTML, например, так:
источник
Это действительно просто, если вы не заботитесь об индексации своих опций с каким-либо числовым идентификатором.
Объявите свой $ scope var - people array
В DOM вышеуказанной области действия создайте объект
В вашем контроллере вы устанавливаете свою ng-модель "нанятая".
Удачи!!! Это действительно легко!
источник
Просто чтобы сложить, я сделал что-то вроде этого.
источник