He visto la documentación de la directiva Angular select aquí: http://docs.angularjs.org/api/ng.directive:select . No puedo entender cómo establecer el valor predeterminado. Esto es confuso:
seleccione como etiqueta para el valor en la matriz
Aquí está el objeto:
{
"type": "select",
"name": "Service",
"value": "Service 3",
"values": [ "Service 1", "Service 2", "Service 3", "Service 4"]
}
El html (funcionando):
<select><option ng-repeat="value in prop.values">{{value}}</option></select>
y luego estoy tratando de agregar un atributo ng-option dentro del elemento select para establecerlo prop.value
como la opción predeterminada (no funciona).
ng-options="(prop.value) for v in prop.values"
¿Qué estoy haciendo mal?
ng-option
está reemplazando el<option ng-repeat="value in prop.values">{{value}}</option>
agradecimiento nuevamente<select ng-model="limit" value="10" ng-options="v for v in [5,10,15,20,30,50]"></select>
La documentación angular para select * no responde esta pregunta explícitamente, pero está ahí. Si miras el
script.js
, verás esto:Este es el html:
Esta parece ser una forma más obvia de omitir un valor seleccionado en un
<select>
conng-options
. También funcionará si tiene diferentes etiquetas / valores.*
Esto es de Angular 1.2.7fuente
Esta respuesta es más útil cuando trae datos de una base de datos, realiza modificaciones y luego persiste los cambios.
Mira el ejemplo aquí:
http://plnkr.co/edit/HrT5vUMJOtP9esGngbIV
fuente
fuente
Si su conjunto de objetos es complejo como:
Y su modelo actual se configuró en algo como:
Ayudó a usar la
track by
función en uuid (o cualquier campo único), siempre que ng-model = "user.friend" también tenga un uuid:fuente
Luché con esto durante un par de horas, por lo que me gustaría agregar algunas aclaraciones, todos los ejemplos que se mencionan aquí se refieren a casos en los que los datos se cargan desde el script en sí, no desde un servicio o una base de datos, así que me gustaría brindar mi experiencia a cualquiera que tenga el mismo problema que yo.
Normalmente solo guarda la identificación de la opción deseada en su base de datos, así que ... vamos a mostrarlo
service.js
controller.js
Finalmente el modelo html parcial.html
básicamente quería señalar esa pieza " model.id_model como model.name para modelo en modelos ", el " model.id_model " usa el id del modelo para el valor para que pueda coincidir con el " mainObj.id_model " que también es el " selected_model ", este es solo un valor simple, también " as model.name " es la etiqueta para el repetidor, finalmente " model in models " es solo el ciclo regular que todos conocemos.
Espero que esto ayude a alguien, y si lo hace, vote: D
fuente
mainObj.id_model
directamente (ng-model="mainObj.id_model"
), en lugar de usar una variable 'marcador de posición / valor plano'selected_model
Simplemente agregue la opción con valor vacío. Funcionará.
DEMO Plnkr
fuente
<option value="" disabled>Please Select</option>
Una manera más fácil de hacerlo es usar data-ng-init así:
La principal diferencia aquí es que necesitaría incluir
data-ng-model
fuente
El atributo ng-model establece la opción seleccionada y también le permite canalizar un filtro como orderBy: orderModel.value
index.html
controllers.js
fuente
angular.js:117 TypeError: a.forEach is not a function
. ¿Alguna idea?Si alguien se encuentra con el valor predeterminado que ocasionalmente no se completa en la página en Chrome, IE 10/11, Firefox, intente agregar este atributo a su campo de entrada / selección para verificar la variable poblada en el HTML, de esta manera:
fuente
Realmente simple si no te importa indexar tus opciones con alguna identificación numérica.
Declara tu $ scope var - matriz de personas
En el DOM del alcance anterior, cree un objeto
En su controlador, configura su modelo ng "contratado".
¡¡¡Buena suerte!!! ¡Es realmente fácil!
fuente
Solo para sumar, hice algo como esto.
fuente