Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Select con AngularJS

Estas en el tema de Select con AngularJS en el foro de Frameworks JS en Foros del Web. Estoy creando una WebApps con AngularJS, pero tengo un problema al colocar select de HTML, lo he intentando de dos formas, en cada forma me ...
  #1 (permalink)  
Antiguo 11/09/2015, 03:49
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 9 años, 3 meses
Puntos: 0
Select con AngularJS

Estoy creando una WebApps con AngularJS, pero tengo un problema al colocar select de HTML, lo he intentando de dos formas, en cada forma me da un problema diferente.

1º forma

Código:
<select class="cs-select cs-skin-slide" ng-model="season" ng-options="_season.name for _season in seasons" ng-change="getChampionships()">
	<option value="" disabled selected>Select a season</option>
</select>
<select class="cs-select cs-skin-slide" ng-model="championship" ng-options="_championship.name for _championship in championships" ng-change="getStatistics()">
	<option value="" disabled selected>Select a competition</option>
</select>
Con esta forma, los datos me los coge perfecto, y las funciones introducidas en los ng-change tambien funcionan (getChampionships(): Rellena de datos el segundo select. getStatistics: Muestra unos gráficos según las opciones elegidas en los dos select).
El problema viene que con esta forma, los select con cogen ningún estilo de diseño, me muestra dos select básicos de HTML

--------------------------------------------------------------------------------------------------------------------------------------------

2º forma

Código:
 <select class="cs-select cs-skin-slide" ng-model="season" ng-change="getChampionships()">
	<option value="" disabled selected>Select a season</option>
	<option value="{{_season.code}}" ng-repeat="_season in seasons">{{_season.name}}</option>
</select>
<select class="cs-select cs-skin-slide" ng-model="championship">
	<option value="" disabled selected>Select a competition</option>
	<option value="{{_championship.code}}" ng-repeat="_championship in championships">{{_championship.name}}</option>
</select>
Con esta forma, los estilos los coge perfecto, pero no me recoge los datos desde el modelo.

--------------------------------------------------------------------------------------------------------------------------------------------

2 preguntas

1º ¿Álguien sabe solucionar alguno de los casos?
2º ¿Cual de las dos opciones es mejor y por que?


GRACIAS ANTICIPADAS
  #2 (permalink)  
Antiguo 11/09/2015, 09:51
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Select con AngularJS

Hola,

La primera solución si debería de funcionar. Cree un fiddle y si me esta cargando los estilos correctamente, tal vez si pudieras poner el resto del código o bien checa la consola si hay algún error en caso de que pongas estilos con js, si no entonces asegurate que tus selectores esten correctos en el HTML final. No es por la forma en que lo estas haciendo por el cual no te lo carga.

En cuanto a cual es mejor: es la primera opción. Porque? pongo la misma documentación de Angular:

Cita:
In many cases, ngRepeat can be used on <option> elements instead of ngOptions to achieve a similar result. However, ngOptions provides some benefits, such as more flexibility in how the <select>'s model is assigned via the select as part of the comprehension expression, and additionally in reducing memory and increasing speed by not creating a new scope for each repeated instance.
Fuente

Última edición por Dafonz; 11/09/2015 a las 09:56

Etiquetas: funcion, html, javascript, js, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:30.