【发布时间】:2016-07-16 12:49:20
【问题描述】:
我有 2 个相互依赖的下拉菜单。第一个效果很好,但我希望根据第一个菜单中的选择填充第二个下拉列表。我意识到以前也有人问过类似的问题,但我的数据似乎采用了不同的格式。这是我的代码:
<body ng-app="patientSim" ng-controller="patientCtrl">
<button style="width:20%;" ng-click="addChar()">Add Characteristic</button>
<div class="row">
<div class="col-md-3"><select ng-model="selectedCategory" ng-options="x.cat as (x.cat | underFilter) for x in (enumChars | duplicateFilter)"></select></div>
<div class="col-md-3"><select ng-model="selectedName" ng-options="x.enumName as (x.enumName | underFilter) for x in enumChars"></select></div>
<div class="col-md-3"><button ng-click="eqWeight()">Equalize Weights</button></div>
<div class="col-md-3"><button ng-click="reset()">Reset</button></div>
</div>
这里是 JSON 的 2 个部分:
{
"enumID": 1,
"enumName": "Gender",
"isTree": false,
"enumAlloc": 10,
"enumVals": [
"Unknown",
"Male",
"Female",
"Transgender"
],
"enumText": null,
"cat": "Demographics"
},
{
"enumID": 2,
"enumName": "Race",
"isTree": false,
"enumAlloc": 15,
"enumVals": [
"Unknown",
"American Indian/Alaska Native",
"Asian",
"Black",
"Native Hawaiian/Other Pacific Islander",
"White/Caucasian",
"Other"
],
"enumText": null,
"cat": "Demographics"
},
第一个下拉菜单包含“人口统计”和“疾病和伤害”,均位于“猫”名称下。整个文件包含 5 个“人口统计”部分和 1 个“疾病和伤害”部分。所有 6 个部分都存储在一个名为 enumChars 的范围值中,我在 ng-options 中使用了它。某些部分有超过 45,000 个值,所以我不想在这里发布它们。我的目标是让第二个下拉列表填充与“cat”对应的“enumName”。因此,例如,如果我在第一个下拉列表中选择“人口统计”,第二个下拉菜单将填充“性别”、“种族”和其他部分中的其他枚举名称值也包含“猫”:“人口统计”。我该怎么做呢?谢谢!!
【问题讨论】:
-
请分享您的 Angular JS 代码以便轻松调试
标签: javascript angularjs drop-down-menu