根据Angular JS中的动态复选框类别过滤数据?

时间:2016-03-01 05:32:48

标签: javascript angularjs filter angular-filters

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

我想要的是,

[] 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的新手。

1 个答案:

答案 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});
            }
     });
相关问题