Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以使用角度选择设计多层多选菜单_Javascript_Angularjs_Json - Fatal编程技术网

Javascript 是否可以使用角度选择设计多层多选菜单

Javascript 是否可以使用角度选择设计多层多选菜单,javascript,angularjs,json,Javascript,Angularjs,Json,在json数据中,ClassifiedSubCategory具有子类别列表。我想显示带有MultiHelp选项的多级下拉列表。可以使用angular select,也可以使用ul li。建议任何可以容忍的行为。可以使用ng重复启动。 它有树状结构 类别 子类别 子类别 您可以有两个选择框来选择类别和子类别。我使用了一个更简单的json来解释这个概念 "GetadminClassifiedCategoryListResult": [ { "AddedBy": 0,

在json数据中,ClassifiedSubCategory具有子类别列表。我想显示带有MultiHelp选项的多级下拉列表。可以使用angular select,也可以使用ul li。建议任何可以容忍的行为。可以使用ng重复启动。 它有树状结构

类别

  • 子类别

  • 子类别


您可以有两个选择框来选择类别和子类别。我使用了一个更简单的json来解释这个概念

 "GetadminClassifiedCategoryListResult":
[
    {
        "AddedBy": 0,
        "AddedOn": null,
        "CategoryIcon": "icon-library_books",
        "CategoryId": 221,
        "CategoryName": "FBVGSDFBDFBDF",
        "ClassifiedSubCategory":
        [
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 238,
                "CategoryName": "zcvb",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 237,
                "CategoryName": "poiyu",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 236,
                "CategoryName": "oi",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 235,
                "CategoryName": "uy",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 234,
                "CategoryName": "tr",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 233,
                "CategoryName": "hjjjhjghjhgjghjhgjgjghhgjghj",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 232,
                "CategoryName": "fghgfhgfhgfhgfhgfhgf",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 231,
                "CategoryName": "trfhgfhgfhgfhgfhgfhgf",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 230,
                "CategoryName": "gfhfhgfhgfhgfh",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 229,
                "CategoryName": "fdgdfgdgdfgdfgdfgdf",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 228,
                "CategoryName": "sdfgsdgdf",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 227,
                "CategoryName": "dsgsdfgsdgsdg",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 223,
                "CategoryName": "fhhhhhhhhhhgfhgf",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            },
            {
                "AddedBy": 0,
                "AddedOn": null,
                "CategoryIcon": "",
                "CategoryId": 222,
                "CategoryName": "dfhfdhdfhdfhdf",
                "DeletedBy": 0,
                "DeletedOn": null,
                "IsActive": false,
                "ModifiedBy": 0,
                "ModifiedOn": null,
                "ParentCategoryId": 221
            }
        ],
        "DeletedBy": 0,
        "DeletedOn": null,
        "IsActive": false,
        "ModifiedBy": 0,
        "ModifiedOn": null,
        "ParentCategoryId": 0
    },
HTML:


类别:
子类别:

所选类别:{Category.CategoryId}

所选子类别:{{SubCategory.CategoryId}


谢谢你们的帮助。我已经尝试了一些东西,可以给我所有的类别和子类别。我想我可以应用css使其看起来像多级菜单

<div ng-app="my-app">
<div ng-controller="testCtrl">
  Category:
  <select ng-model="Category" ng-options="template as template.CategoryName for template in categories">
  </select>
  Sub Category:
  <select ng-model="SubCategory" ng-options="template as template.CategoryName for template in Category.subCategories">
  </select>
  <p>
    Selected Category: {{Category.CategoryId}}
    <br /> Selected Sub Category: {{SubCategory.CategoryId}}
    <br />
  </p>
</div>

选择一个类别
{{m.CategoryName}
{{j.CategoryName}
@* *@

一次选择是否可行。@VaibhavSave No.您需要两次选择。将其包含在一个select中的唯一方法是使用optgroups,这听起来不像您想要的。除非你找到第三方插件。
angular.module('my-app', [])
  .controller('testCtrl', function($scope) {

    $scope.categories = [{
      "CategoryId": 1,
      "CategoryName": "Category A",
      "subCategories": [{
          "CategoryId": 101,
          "CategoryName": "Sub-Category A1"
        }, {
          "CategoryId": 102,
          "CategoryName": "Sub-Category A2"
        }

      ]
    }, {
      "CategoryId": 2,
      "CategoryName": "Category B",
      "subCategories": [{
          "CategoryId": 201,
          "CategoryName": "Sub-Category B1"
        }, {
          "CategoryId": 202,
          "CategoryName": "Sub-Category B2"
        }

      ]
    }]

  });
<div ng-app="my-app">
<div ng-controller="testCtrl">
  Category:
  <select ng-model="Category" ng-options="template as template.CategoryName for template in categories">
  </select>
  Sub Category:
  <select ng-model="SubCategory" ng-options="template as template.CategoryName for template in Category.subCategories">
  </select>
  <p>
    Selected Category: {{Category.CategoryId}}
    <br /> Selected Sub Category: {{SubCategory.CategoryId}}
    <br />
  </p>
</div>
<select ng-model="Category.CategoryId">
                <option value="" selected="selected">Select a Category</option>
                <option ng-repeat-start="m in Adminsubcat" >{{m.CategoryName}}</option>
                <option ng-repeat="j in m.ClassifiedSubCategory" ng-repeat-end>{{j.CategoryName}}</option>
               @* <option ng-repeat-end></option>*@
            </select>