Javascript 嵌套循环中的AngularJS材质复选框
我正在使用AnjularJ和角材料。我试图显示一组复选框,并且每个组都针对我拥有的每个位置显示。我的问题是,如果选中第一个位置的复选框,则选中其他位置的相同复选框。我不确定如何设置这些嵌套的复选框 这是我的控制器代码Javascript 嵌套循环中的AngularJS材质复选框,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我正在使用AnjularJ和角材料。我试图显示一组复选框,并且每个组都针对我拥有的每个位置显示。我的问题是,如果选中第一个位置的复选框,则选中其他位置的相同复选框。我不确定如何设置这些嵌套的复选框 这是我的控制器代码 $scope.subBrandList = [ {sub_brand_id:"1", sub_brand_desc:"Brand 1"}, {sub_brand_id:"2", sub_brand_desc:"Brand 2"} ]; $scope.servicesPro
$scope.subBrandList = [
{sub_brand_id:"1", sub_brand_desc:"Brand 1"},
{sub_brand_id:"2", sub_brand_desc:"Brand 2"}
];
$scope.servicesProvidedList = [
{service_provided_id:"1", service_provided_desc:"Desc 1", sub_brand_id:"1"},
{service_provided_id:"2", service_provided_desc:"Desc 2", sub_brand_id:"1"}
];
$scope.dealerLocationList = [
{id:"1", dealer_location_name:"LOC 1"},
{id:"2", dealer_location_name:"LOC 2"}
]
$scope.servicesSelected = [];
$scope.serviceSelection = {
ids: {},
objects: []
};
$scope.toggle = function (item, list) {
var idx = list.indexOf(item);
if (idx > -1) list.splice(idx, 1);
else list.push(item);
};
$scope.exists = function (item, list) {
return list.indexOf(item) > -1;
};
这是我的HTML:
<ul>
<li ng-repeat="location in dealerLocationList">
<h1>{{location.dealer_location_name}}</h1>
<md-list>
<md-list-item ng-repeat="brand in subBrandList" style="padding-bottom:20px;">
<div style="padding-left:30px;">
<div flex ng-repeat="item in servicesProvidedList | filter : {sub_brand_id : brand.sub_brand_id} : true">
<md-checkbox class="md-primary" ng-checked="exists(item, servicesSelected)" ng-click="toggle(item, servicesSelected)" ng-model="serviceSelectionids.ids[item.service_provided_id]">
{{ item.service_provided_desc }}
</md-checkbox>
</div>
</div>
<md-divider md-inset ng-if="!$last"></md-divider>
</md-list-item>
</md-list>
</li>
</ul>
-
{{location.dealer\u location\u name}
{{item.service_provided_desc}}
?嗯,我的控制器或HTML中一定有其他东西导致了我的问题。它太大,无法在此处发布。然后,您应该做的是开始从页面中删除不相关的代码,以查看哪些代码正在创建问题。从控制器中删除预定义的$scope.serviceSelection修复了我的问题。