Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 嵌套循环中的AngularJS材质复选框_Javascript_Angularjs_Checkbox - Fatal编程技术网

Javascript 嵌套循环中的AngularJS材质复选框

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

我正在使用AnjularJ和角材料。我试图显示一组复选框,并且每个组都针对我拥有的每个位置显示。我的问题是,如果选中第一个位置的复选框,则选中其他位置的相同复选框。我不确定如何设置这些嵌套的复选框

这是我的控制器代码

$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修复了我的问题。