- I am trying to populate json to dropdown list, mainly main category, sub category and sub sub category .
- I am able to populate main category and sub category, but i am unable to populate subsubcategory.
- Also only based on main category, sub category should be populated, similarly based on sub category, sun sub category dropdown should be filled with options.
Please help.
Code
var app = angular.module('main', []);
app.controller('DemoCtrl', function($scope) {
$scope.chooseCategories = [{
categoryId: 1,
catName: "men",
desc: "some description",
subcat: [{
key: "topWear",
value: "m-top-wear",
subSubCat: [{
key: "Ma",
value: "M-A"
}, {
key: "Mb",
value: "M-B"
}]
}, {
key: "bottomwear",
value: "m-bottom-wear",
subSubCat: [{
key: "Ma",
value: "M-A"
}, {
key: "Mb",
value: "M-B"
}]
}]
}, {
categoryId: 2,
catName: "women",
desc: "some description",
subcat: [{
key: "topWear",
value: "w-top-wear",
subSubCat: [{
key: "Wa",
value: "W-A"
}, {
key: "Wb",
value: "w-B"
}]
}, {
key: "bottomwear",
value: "w-bottom-wear",
subSubCat: [{
key: "Ma",
value: "M-A"
}, {
key: "Mb",
value: "M-B"
}]
}]
}, {
categoryId: 3,
catName: "kids",
desc: "some description",
subcat: [{
key: "topWear",
value: "k-top-wear"
}, {
key: "bottomwear",
value: "k-bottom-wear"
}]
}];
var locationsArr = $scope.chooseCategories.map(function(item) {
return item.subcat;
});
var temp = $scope.chooseCategories.map(function(item) {
return item.subcat;
});
$scope.finalArr = locationsArr[0].concat(locationsArr[1]).concat(locationsArr[2]);
$scope.selectedCountry = $scope.chooseCategories[0].categoryId.toString();
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js"></script>
<div ng-controller="DemoCtrl" ng-app="main">
Main category::<select ng-model="selectedCountry">
<option ng-repeat="x in chooseCategories" value="{{x.categoryId}}"> {{x.catName}}</option>
</select>
<hr>
Sub category:: <select ng-model="selectedsubcategory">
<option ng-repeat="locations in finalArr" value="{{locations.key}}"> {{locations.value}}</option>
</select>
<hr>
Sub sub category::<select ng-model="selectedsubSubcategory">
<option ng-repeat="locations in finalArr2" value="{{locations.key}}"> {{locations.value}}</option>
</select>
</div>