У меня есть список категорий, каждая из которых содержит подкатегории. Я пытаюсь получить их внутри optgroup опций выбора, вот как выглядит список:
{
"data": [
{
"category": "First Category",
"0": {
"name": "Sub 1",
"under": [
"Under 1",
"Under 2"
]
},
"1": {
"name": "Sub 2",
"under": [
"Under 1",
"Under 2",
"Under 3"
]
},
"2": {
"name": "Sub 3",
"under": [
"Under 1",
"Under 2"
]
}
},
{
"category": "Second Category",
"0": {
"name": "Sub 1",
"under": [
"Under 1",
"Under 2"
]
},
},
]
}
У меня есть еще один выбор, который содержит все категории. Второй отображается в зависимости от моего первого выбора, поэтому, например, если я выберу Первая категория , все вторые и подчиненные элементы должны быть добавлены во второй выбор:
// Fetch all available categories
$scope.initCategories = function(obj){
$scope.promise = sendRequest.sendObject('/fetch-categories', obj, config)
$scope.promise.then(function(success) {
$scope.categories = success.data
$scope.stepData.category = $scope.categories
return true
}, function(err) {
return false, err
})
}
<select class="form-control custom-select" name="categories" ng-model="stepData.category" ng-options="x.category for x in categories track by x.category">
</select>
<select ng-if="stepData.category" class="form-control custom-select" ng-model="stepData.sub" ng-options="sub group by sub.name for (index, key) in stepData.category[index]"></select>
Вот пример того, что я пытаюсь сделать: http://jsfiddle.net/rtCP3/182/