我的复选框有点问题:
我有一系列的对象。我在这个数组上做了一个ng-repeat,并且我在每个元素上关联了复选框。
<li ng-repeat="title in treeZone track by $index">
<input type="checkbox" ng-model="title.selected" ng-click="functionAdd($index, title.selected)"/> {{title}}
</li>
我的问题是,我想通过函数获取所有选中的复选框。
要做到这一点,我写道:
scope.funtionAdd = function() {
scope.tree_array = "";
angular.forEach(scope.treeZones, function(title) {
if (title.selected) {
scope.tree_array = scope.tree_array + title.name + " ";
}
});
}
此功能效果很好,但会导致错误:“由于”title.selected“,”类型'区''上不存在“已选中的属性”
知道我的Zone对象有3个属性:id,name,parent。
如果知道我唯一知道某个区域是否被选中的方法,那么如何解决这个问题的方法是“title.selected”。
感谢您的帮助:)
答案 0 :(得分:0)
在treeZone中保留一个唯一属性,并使用它来设置复选框的ID
<li ng-repeat="title in treeZone track by $index">
<input id="{{title.TYPE}}" type="checkbox" ng-model="title.selected" ng-click="functionAdd($index, title.selected)"/> {{title}}
</li>
然后在javascript中,您可以查看所有选中的复选框:
scope.tree_array = [];
for (var i = 0; i < scope.treeZone .length; i++) {
document.getElementById(scope.treeZone[i].TYPE).checked = true;
scope.tree_arra.push({ "TYPE": scope.treeZone[i].name});
}