Фильтр ng-options равен ng-model из ввода

Я пытаюсь добавить условный фильтр в свой файл ng-options. Параметры должны отображаться только тогда, когда идентификатор из массива параметров равен идентификатору из другого ввода выбора.

Первый ng-options:

<select ng-model="requestDepartment" ng-options="department.DepartmentID as department.DepartmentName for department in departments" class="form-control">
    <option value="">Select</option>
</select>

Второй ng-options с фильтрацией:

<select ng-model="requestCategory" ng-options="category.CategorytName for category in categories | filter:{category.ParentID : requestDepartment}" class="form-control">
    <option value="">Select</option>
</select>

Второй ng-options должен отображать только те записи, которые соответствуют ng-модели из первого ng-options.

Структура данных следующая:

DepartmentID: 1
DepartmentName: "IT"

ParentID: 1
CategoryName: "Sharepoint"

Итак, если выбран отдел «ИТ», я хочу отображать только категории, соответствующие parentID, в данном случае «Sharepoint».

Я пробовал filter:{category.ParentID : requestDepartment} безуспешно.

Какие-либо предложения?

Обновлять:

Я добавил скрипт: http://jsfiddle.net/q53ro5sr/4/


person TietjeDK    schedule 22.10.2015    source источник
comment
Поместите $watch на первый выбор и обработайте его в своем контроллере. Если вы настроите скрипку с контроллером, я также покажу вам, как я это сделал.   -  person Chris L    schedule 22.10.2015
comment
Смотрите мое обновление, пожалуйста. Я добавил скрипку.   -  person TietjeDK    schedule 22.10.2015


Ответы (1)


Это должно работать

<select ng-model="requestCategory" 
        ng-options="category.CategoryName for category in categories | filter: { ParentID: requestDepartment }" 
        class="form-control">
      <option value="">Select</option>
</select>

Вот скрипта

person Bradley MIller    schedule 22.10.2015