我正在尝试按类别和子类别实现包含动态数据的过滤器复选框选项。
我想要的是,
[] 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
主要内容:
最初显示标题。选中某些内容后,显示与该类别/子类别相关的标题。
注意:Pl不认为我没有任何努力。我见过像JSBin这样的例子,但我找不到像我想要的那样。顺便说一下,我是Angular的新手。
答案 0 :(得分:0)
如果我理解正确你想要这样的东西: http://jsfiddle.net/ms403Ly8/67/
首先,我从你的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});
}
});