Я пытаюсь достичь каскадного выпадающего списка в угловом. Я думал, что это будет нормально работать благодаря привязке. См. Ниже:angularjs: cascade dropdown
<select name="client" ng-model="selectedRequest.client" ng-options="c.name for c in clients track by c.id" required></select>
<select id="department" ng-model="selectedRequest.department" ng-options="d.defaultLabel for d in selectedRequest.client.departments track by d.id"></select>
Когда представление загружено, оно работает, я могу видеть отделы, соответствующие тем, которые связаны с клиентом. Однако, когда изменяется выбранныйRequest.client, источник для раскрывающегося списка департамента тоже должен измениться, но вместо этого он становится пустым.
EDIT
Я изменил ребенка раскрывающегося списка:
<select id="department" ng-model="selectedRequest.department" ng-options="d.defaultLabel for d in departments track by d.id | filter:{clientId: selectedRequest.client.id}"></select>
, но на этот раз он загружает все отделы в раскрывающемся списке, не обращая внимания на фильтр.
** EDIT 2 **
Переход к:
<select name="client" ng-model="requestService.selectedRequest.client" ng-options="c as c.name for c in clients track by c.id" required></select>
<select id="department" ng-model="requestService.selectedRequest.department" ng-options="d.defaultLabel for d in departments | filter:{clientId: requestService.selectedRequest.client.id}"></select>
Теперь источник изменяется правильно при выборе клиента. Однако первоначальный выбор, т. Е. Установка правильного отдела при запуске, не работает. Это потому, что я удалил бит «track by id».
Кажется, все в порядке. Вам нужно будет создать скрипку и повторить эту проблему. Может быть, отдел пуст. – Chandermani
Я отредактировал свое сообщение с новым подходом – Sam
Что произойдет, если вы удалите «трек по» из ng-options? –