角度复选框错误

时间:2016-06-30 08:14:59

标签: javascript angularjs checkbox

我的复选框有点问题:

我有一系列的对象。我在这个数组上做了一个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”。

感谢您的帮助:)

1 个答案:

答案 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});
        }