Я работаю в некоторых приложениях с AngularJS, и я использую директиву ng-options
, но у меня есть одна проблема. Когда я выбираю "Provincia", "Cantón" выбирает только последний элемент в массиве.
Кто-нибудь знает, в чем проблема?
Это мой HTML-код:
<div class="form-group">
<select class="form-control" ng-model="selected.provincia" ng-options="p.provincia for p in geografiaCR">
<option value="" disabled selected hidden>Seleccione una provincia</option>
</select>
</div>
<div class="form-group">
<select class="form-control" ng-model="selected.nombre" ng-options="n.nombre for n in selected.provincia.cantones">
<option value="" disabled selected hidden>Seleccione un cantón</option>
</select>
</div>
И это угловой код:
$scope.selected = {};
$scope.geografiaCR = [
{
provincia: 'San José',
cantones: [{nombre: 'San José',nombre: 'Escazú',nombre: 'Desamparados',nombre: 'Puriscal',nombre: 'Tarrazú',
nombre: 'Aserrí',nombre: 'Mora',nombre: 'Goicochea',nombre: 'Santa Ana', nombre: 'Alajuelita',
nombre: 'Acosta',nombre: 'Tibás',nombre: 'Moravia',nombre: 'Montes de Oca',nombre: 'Turrubares',
nombre: 'Dota',nombre: 'Curridabat',nombre: 'Perez Zeledón', nombre: 'León Cortes'}]
},
{
provincia: 'Limón',
cantones: [{nombre: 'Limón',nombre: 'Pocosí',nombre: 'Siquirres',nombre: 'Talamanca',nombre: 'Matina',
nombre: 'Guácimo'}]
}
];
Ваши cantones
- это один Object
чье свойство nombre
многократно переопределяется.
+ Изменить
cantones: [{nombre: 'Limón',nombre: 'Pocosí',nombre: 'Siquirres',
nombre: 'Talamanca',nombre: 'Matina', nombre: 'Guácimo'}]
к
cantones: [{nombre: 'Limón'},{nombre: 'Pocosí'},{nombre: 'Siquirres'},
{nombre: 'Talamanca'},{nombre: 'Matina'}, {nombre: 'Guácimo'}]
То же самое касается и другого.