Angular ng-options не показывает все элементы

0

Я работаю в некоторых приложениях с 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'}]
  }
];
  • 0
    Какой смысл иметь одно и то же имя для свойства? Скорее это должны быть {провинция: 'Сан-Хосе', кантоны: [{name: 'San José'}, {name: 'Escazú'}, {name: 'Desamparados'}]}
Теги:
ng-options
selected

1 ответ

5

Ваши 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'}]

То же самое касается и другого.

  • 0
    Вы можете видеть это в этом мусорном ведре
  • 0
    Спасибо большое, Даниэль, его работа идеальна.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню