基于动态复选框过滤数据 角度 JS中的类别

Filtering data based on dynamic check box Categories in Angular JS?

本文关键字:JS 角度 数据 过滤 于动态 动态 复选框      更新时间:2023-09-26

我正在尝试实现按类别和子类别使用动态数据的过滤器复选框选项。

我想要的是,

[] 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

事由:

最初显示标题。选中某些内容后,显示与该类别/子类别相关的标题。

注意:请不要认为我是在不费吹灰之力地问。我看过一些像JSBin这样的例子,但我找不到我想实现的东西。顺便说一句,我是Angular的新手。

如果我

理解正确,你想要这样的东西: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});
            }
     });