我正在尝试返回我在angular js app中选择的项目。该应用程序显示了一些来自json文件的工具:
{"facility": [
{
"facilityItem": {
"value": "Public_telephone",
"code": "Public_telephone"
}
},
{
"facilityItem": {
"value": "Public_toilet",
"code": "Public_toilet"
}
}
]
}
在角度js页面中,我列出了这些项目:
<div ng-controller="MainCtrl">
<div ng-repeat="facility in items">
<input type="checkbox"/>
{{facility.facilityItem.code}}
</div>
</div>
问题是我如何创建一个对象,说是selectedItems,其中包含在此列表中检查的所有设施项目?
答案 0 :(得分:1)
输入框必须绑定到带有ng-model的角度模型:
<div ng-controller="MainCtrl">
<div ng-repeat="facility in items">
<input type="checkbox" ng-model="facility.facilityItem.selected"/>
{{facility.facilityItem.code}}
</div>
</div>
一旦你这样做,&#34;选择&#34;一旦选定,应定义每个facilityItem
中的属性。
使用其他模式的替代方式
将其添加到控制器以创建新模型:
$scope.facilitySelected = [];
然后更改你的html以使用新模型;请注意$ index是视图相关的,因此模型和视图必须处于相同的顺序(我不鼓励对齐的数组)。
<div ng-controller="MainCtrl">
<div ng-repeat="facility in items">
<input type="checkbox" ng-model="facilitySelected[$index]"/>
{{facility.facilityItem.code}} {{facilitySelected[$index] && "selected" || "" }}
</div>
</div>