Javascript ngRepeat在另一个中继器上的值';s数组
使用AngularJS 具有以下JSON片段:Javascript ngRepeat在另一个中继器上的值';s数组,javascript,html,angularjs,Javascript,Html,Angularjs,使用AngularJS 具有以下JSON片段: "skills": { "Charisma": {}, "Dexterity": { "Sk3": [ [ true, true, true, true, false ], 44 ] }, ... 以及以下相应的HTML <div class="panel panel-info" ng-repeat="(key, value) in characte
"skills": {
"Charisma": {},
"Dexterity": {
"Sk3": [
[
true,
true,
true,
true,
false
],
44
]
}, ...
以及以下相应的HTML
<div class="panel panel-info" ng-repeat="(key, value) in character.skills | orderBy:'$index':true">
<div class="panel-heading">
<span class="accordion-toggle collapsed" data-toggle="collapse" data-target="#{{key}}">
<header>
<label>{{key}}</label>
</header>
</span>
</div>
<ul id="{{key}}" class="list-group collapse">
<li class="list-group-item" ng-repeat="(K, V) in value">
<input type="checkbox" />
<label>{{K}}</label>
</li>
</ul>
</div> ...
{{key}}
-
{{K}
...
如何重复布尔数组并将其绑定到复选框输入?
结果是在每个技能名称前有5个复选框,根据布尔值选择或取消选择
我试过这样的方法:
<li class="list-group-item" ng-repeat="(K, V) in value">
<input type="checkbox" ng-repeat="bool in V[0]" ng-model="V[0]"/>
<label>{{K}}</label>
</li>
{{K}
但这是不可能的。在本例中,您可以像这样绑定到布尔数组元素:
<input type="checkbox" ng-repeat="bool in V[0] track by $index" ng-model="V[0][$index]" />
请注意,由于数组中存在重复项,因此必须使用track by$index
表达式。您还需要使用ngModel
指令
演示:只是一次尝试。
有效吗?首先,根本没有重复的复选框,所以它不会显示任何。。所以我真的说不出来。@Taerus它不显示,因为数组中有重复项,所以需要通过$index
跟踪项目。