如何选中angularJS中的所有复选框
通过调用addAllMarkers(item)方法,我希望选中与项目相关的所有复选框 在my index.html中,我有:如何选中angularJS中的所有复选框,angularjs,Angularjs,通过调用addAllMarkers(item)方法,我希望选中与项目相关的所有复选框 在my index.html中,我有: <li ng-repeat="item in items"> <a href="#" ng-if="item.children" ng-click="addAllMarkers(item)">{{ item.title }}</a> <input ng-if="!item.children" c
<li ng-repeat="item in items">
<a href="#" ng-if="item.children" ng-click="addAllMarkers(item)">{{ item.title }}</a>
<input ng-if="!item.children" class="align"
type="checkbox" ng-checked="item.checked" ng-click="checkItem(item)"
/>
<a href="#" ng-if="!item.children" ng-click="checkItem(item)">
{{ item.title }} </a>
</li>
此方法仅用于选中或取消选中一个复选框;
在addAllMarkers中,我有以下代码,但它不起作用:(
您正在将对象
项
传递给函数addAllMarkers
,但在该函数中,您将项
视为一个数组。也许您希望将项
传递给函数。@Michael P.他没有将其视为(var键入对象)的数组是Javascript中受支持的语法。@Fadwa el kebraoui,因为您希望所有内容都为true,所以if语句是无关的。此外,在以这种方式迭代对象中的属性时,您应该使用hasOwnProperty检查。@tuckerjt07我知道(obj中的var键)的语法
,但如果您查看模板,项
有一个属性title
,显示在
标记中。作为项['title']。子项
或项['title']。选中的是胡说八道,我一直认为OP think在数组上迭代。
$scope.checkItem = function(item){
if(item.checked== undefined || item.checked== true){
itemProvider.remove(item);
item.checked = false; }
else{
$scope.markers=itemProvider.addMarkers(item);
item.checked = true;
}
$scope.addAllMarkers = function (item){
for(var i in item){
if(!item[i].children){
item[i].checked = true;
}}
.....
}