У меня есть список категорий, и в каждом категории есть список категорий, и я отображаю их в раскрывающемся списке, из которого пользователь может выбрать несколько элементов, и сделанные варианты будут отфильтровать, какие приложения показаны в представлении (это внутренний дом магазин приложений)
Это файл JSON, с которым я работаю.
{"type": "Category", "id": 1181, "CategoryType": {"id": 1180, "name": "Technology"}, "name": "spotfire"}, {"Тип": «Категория», «id»: 1182, «CategoryType»: {«id»: 1180, «Имя»: «Технология»}, «Имя»: «PipelInp»}, {"Тип": "Категория", "ID ": 1184," CategoryType ": {" id ": 1183," name ":" Категория "}," Имя ":" IBSI "}, {" Тип ":" Категория "," ID ": 1185," Категория ": {" id ": 1183," name ":" Category "}," name ":" clin "}, {" type ":" Категория "," ID ": 1187," CategoryType ": {" ID " : 1186, «Имя»: «Возможности»}, «Имя»: «Химия»}, {«Тип»: «Категория», «ID»: 1188, «Категориятип»: {«ID»: 1183, «Имя» : «Категория»}, «Имя»: «Ключевые лидеры мнений»}, {"type": "Категория", "ID": 1189, "Категориятип": {"ID": 1183, "Имя": "Категория" }, "name": "pnts"}, {"type": "Категория", "ID": 1190, "CategoryType": {"id": 1183, "name": "Категория"}, "Имя": "CI"}, {"type": "Категория", "ID": 1191, "CategoryType": {"id": 1180, "имя": "Технология"}, "Имя": "VantageP"}, {{ «Тип»: «Категория», «ID»: 1192, «Категориятип»: {«id»: 1183, «Имя»: «Категория»}, «Имя»: «Targets»}, {"Тип": "Категория "," id ": 1193," CategoryType ": {" id ": 1186," имя ":" Capab ilility "}," name ":" Information Science "}, {" type ":" Категория "," ID ": 1194," CategoryType ": {" ID ": 1186," имя ":« Возможность »},", ",", ",", ",", "," Имя ":" dmp "}, {" type ":" Категория "," ID ": 1195," CategoryType ": {" ID ": 1180," Имя ":" Технология "}," Имя ":" Spotfire Web Игрок "}, {" type ":" Категория "," ID ": 1196," CategoryType ": {" id ": 1186," имя ":" Возможности "}," Имя ":« Предсказатели "}, {" Тип ":" Категория "," ID ": 1198," CategoryType ": {" id ": 1197," name ":" function "}," name ":" Pharmd "}, {" Тип ":" Категория " , "id": 1199, "CategoryType": {"id": 1197, "name": "function"}, "name": "im - cv/gi"}, {"type": "Категория", " ID ": 1200," CategoryType ": {" id ": 1180," name ":" Technology "}," name ":" Мобильные приложения "}, {" Тип ":" Категория "," ID ": 1201, «CategoryType»: {"id": 1197, "name": "function"}, "name": "rapide"}, {"type": "Категория", "ID": 1202, "CategoryType": {" id ": 1197," name ":" function "}," name ":" im - oncology "}, {" type ":" Категория "," ID ": 1203," CategoryType ": {" ID ": 1186 , "Имя": "Возможности"}, "Имя": "CLIN"}
Но поскольку администратор может добавлять категории и категории к любому типу, выпадающие списки должны быть динамически созданы, поскольку они были жестко кодированы. Для каждого типа категории должен быть новый выпадающий.
Итак, что я смог сделать, так это иметь все категории, показанные в одном раскрывающемся спине, сгруппированном по типу категории с этим;
<select class="form-control" multiple class="span4 chzn-select" chosen="myCategories" data-placeholder=" " ng-model="c" ng-options="c.name group by c.categoryType.name for c in myCategories">
Я создал завод, чтобы получить категории;
.factory('categoryFactory', function ($resource) {
return $resource(
'/resources/appstore/categories'
);
})
Контроллер выглядит так;
$scope.myCategories = [];
categoryFactory.query(function (d) {
$scope.myCategories = d;
});
Так, например, возьмите первую линию JSON.
Категория «Spotfire» находится в категории «технология».
Таким образом, для этой категории мне понадобится выпадающая часть технологии, которая показывает, по крайней мере, Spotfire + все, что проанализировано в файле JSON, находящемся в этом категории.
Затем еще один выпадающий в сторону для следующего категории и так далее.