【问题标题】:Filtering data based on dynamic check box Categories in Angular JS?基于Angular JS中的动态复选框类别过滤数据?
【发布时间】:2016-06-13 10:13:56
【问题描述】:

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

我想要的,

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

【问题讨论】:

  • 我认为您的数据组织得不是很好。为什么不在您的父类别中嵌套子类别?
  • 数据如何?样品?
  • [ "parentCategory1": { "childCategory1": { "title": ..., ... }, childCategory2": { "title": ..., ... }}, “parentCategory2”...
  • 如何过滤?这不是我的问题吗?

标签: javascript angularjs filter angular-filters


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    相关资源
    最近更新 更多