【发布时间】:2015-07-21 07:05:01
【问题描述】:
我查看了有关此主题的先前问题,但找不到任何类似的内容。
我的问题是我想制作第二个 HTML 单选按钮数组,这取决于首先选择了 which 单选按钮。假设对象数组是这样来找我的:
"Names":[{
"name": "Fido",
"id": "1",
"type": [
{
"typeName": "Dog",
"typeId": "1"
},
{
"typeName": "Cat",
"typeId": "2"
},
{
"typeName": "Mouse",
"typeId": "3"
}
]
},
{
"name": "Bella",
"id": "2",
"type": [
{
"typeName": "Cat",
"typeId": "2"
},
{
"typeName": "Mouse",
"typeId": "3"
}
]
}]
我的 AngularJS 代码目前如下所示:
<label ng-repeat="item in nameList.Names">
<input type="radio" name="Name" ng-model="$parent.selectedName"
ng-value="item"> {{item.name}} </input>
<label ng-repeat="item in nameList.Names[$parent.selectedName.id].type"> <input
type="radio" name="Type" ng-model="$parent.selectedType"
ng-value="type"> {{item.typeName}}</input>
</label>
</label>
我很确定这不起作用,因为 $parent.selectedName.id 部分 - ng-repeat 已经创建了一个子范围,所以这将是原始范围的“孙子”,这意味着 $parent 是只是指上面的脚本,而不是其余的代码。
有没有办法解决这个问题,以便我可以有一个根据第一个选定值更改选项的列表?
编辑:我真正想做的是我希望能够选择一个单选按钮(在本例中为“Fido”或“Bella”),并根据选择在一个“类型”数组中弹出一个第二个单选按钮列表。有没有办法使这项工作或者我需要拆分“名称”对象?
【问题讨论】:
-
如果你可以为它创建一个小提琴会很棒。以便我们了解您所期望的 HTML :)
-
jsfiddle.net/Lf9dpd3k - 不能再做任何事情了,因为我真的不知道代码应该是什么样子。我希望在选择前两个单选按钮后立即显示第二个单选按钮,而第二个单选按钮应该以内部“类型”数组中的元素命名。
-
看答案。我想这就是您正在寻找的答案:)
标签: javascript html angularjs