Javascript 在Angular JS中基于动态复选框类别过滤数据?
我试图实现一个过滤器复选框选项,其中包含按类别和子类别划分的动态数据 我想要的是Javascript 在Angular JS中基于动态复选框类别过滤数据?,javascript,angularjs,filter,angular-filters,Javascript,Angularjs,Filter,Angular Filters,我试图实现一个过滤器复选框选项,其中包含按类别和子类别划分的动态数据 我想要的是 [] Category [] Sub Category [] Sub Category [] Category [] Sub Category [] Sub Category [] Sub Category ... and so on 假设上面的复选框为[] 以下是示例json数据: [ { "category": { "name": "AAA
[] Category
[] Sub Category
[] Sub Category
[] Category
[] Sub Category
[] Sub Category
[] Sub Category
... and so on
假设上面的复选框为[]
以下是示例json数据:
[
{
"category": {
"name": "AAA - 1"
},
"parentcategory": {
"name": "AAA"
},
"title" : "XXXXX",
},
{
"category": {
"name": "AAA - 2"
},
"parentcategory": {
"name": "AAA"
},
"title" : "YYYY",
}
]
基于以上数据,我真正想要的是
侧栏:
[] AAA
[] AAA - 1
[] AAA - 2
主要内容:
最初显示标题。选中某项后,显示与该类别/子类别相关的标题
注意:请不要认为我在不劳而获地问。我见过一些类似的例子,但我找不到我想要实现的东西。顺便说一句,我不太熟悉角度。如果我理解正确,你想要这样的东西: 首先,我从json数组中找到了第一个父项。然后找到此父项的子项并添加到其中
angular.forEach($scope.itemList, function(itm) {
var filteredItem = $filter('filter')($scope.itemList, { parentcategory: itm.parentcategory.name});
if($filter('filter')($scope.parentItems, { name: itm.parentcategory.name}).length == 0){
$scope.parentItems.push({name: itm.parentcategory.name, children:filteredItem});
}
});
我认为你没有很好地组织你的数据。为什么不将子类别嵌套在父类别中?数据将如何处理?示例?[“parentCategory1”:{“childCategory1”:{“title”:…,…},childCategory2”:{“title”:…,…},,,,,,,,,,,},“,parentCategory2”…我该如何过滤?这不是我的问题吗?@SatejS