Opciones de ng angulares en select2 - propiedades de valor de configuración
Tengo una variedad de países:
var countriesList: [
{name: "Israel", code: "IL"},
{name: "India", code: "IN"},
{name: "Andorra", code: "AD"}
]
y una selección de países seleccionados:
selectedCountries: [
{
country:"IL"
}
]
Estoy usando select2 para seleccionar países. Comencé con ng-repeat para generar el<options/>
etiqueta:
<select
id="countriesList"
ui-select2
multiple
ng-model='data.selectedCountries'
data-placeholder='Choose or Search for Countries'
name='locations'
ng-change='geoTargetingChanged()'>
<option ng-repeat="country in data.countriesList" value="{{country.code}}">{{country.name}}</option>
</select>
este método funcionó bien, pero causó que la forma fuera$dirty
justo en el inicio así que empecé a usar el mecanismo `ng-options- (después de leeresta respuesta):
<select
id="countriesList"
ui-select2
multiple
ng-model='data.selectedCountries'
data-placeholder='Choose or Search for Countries'
name='locations'
ng-change='geoTargetingChanged()'
ng-options="country.code as country.name for country in data.campaignSettings.countriesList">
<option></option>
</select>
Ahora el problema es que el valor de los elementos no es el código del país, es su índice en la matriz.
¿Me estoy perdiendo de algo?