Javascript 将值保存到AngularJS中ng repeat内的复选框上的数组

Javascript 将值保存到AngularJS中ng repeat内的复选框上的数组,javascript,angularjs,arrays,angularjs-ng-repeat,Javascript,Angularjs,Arrays,Angularjs Ng Repeat,我有一个场景,在这个场景中,当选中复选框时,我必须将值放入数组中 <li ng-repeat="player in team.players"> <div class="row"> <div class="col-md-3 m-t-xs"> <input type="checkbox" ng-model="vm.newEvent.players[$index].selected" ng-change="vm.selectPla

我有一个场景,在这个场景中,当选中复选框时,我必须将值放入数组中

<li ng-repeat="player in team.players">
  <div class="row">
     <div class="col-md-3 m-t-xs">
       <input type="checkbox" ng-model="vm.newEvent.players[$index].selected" ng-change="vm.selectPlayer($index, player)"> {{player.name}}
     </div>
     <div class="col-md-5 m-t-xs">
        <label for="">
         <input type="radio" name="{{player.id}}" ng-change="vm.disSelectPlayer($index, player)" ng-model="vm.newEvent.players[$index].casuality.type" value="injured"> Injured
        </label>
        <label for="">
         <input type="radio" name="{{player.id}}" ng-change="vm.disSelectPlayer($index, player)" ng-model="vm.newEvent.players[$index].casuality.type" value="sick"> Sick
        </label>
        <label for="">
         <input type="radio" name="{{player.id}}" ng-change="vm.disSelectPlayer($index, player)" ng-model="vm.newEvent.players[$index].casuality.type" value="other"> Other
        </label>
     </div>
  </div>
</li>
  • {{player.name} 受伤的 生病的 其他
  • 这就是它现在在浏览器中的外观

    问题是,当我在巴萨手风琴中单击任何球员姓名时,它也会从拜仁慕尼黑手风琴中选择同一个索引球员,我想要的是让所有球员彼此分开。
    我是不是因为这个函数而在绑定中丢失了一些东西:
    vm.disSelectPlayer($index,player)

    我认为您必须在这里添加索引,以便为每个玩家提供不同的id或索引

    试试这个:
  • 并在调用的函数中使用此键:
    vm.disSelectPlayer($index,player,key)


    我希望它有用:)

    使用检查表模型,AngularJS指令用于检查框列表

    在Angular one中,复选框
    与一个模型链接。但在实践中,我们通常希望一个模型存储来自多个复选框的选中值数组。清单模型解决了该任务,而无需控制器中的额外代码。您应该使用
    标记的属性:

    • 设置检查表模型,而不是ng模型
    • 设置
      检查表值
      -应选择什么作为数组项

    这是因为你在第4行写的

    ng-model="vm.newEvent.players[$index].selected".
    
    您已经使用了parents object ie播放器,而不是您可以使用的

    ng-model="vm.player.selected".
    


    我认为这些复选框有相同的名称是的,这是我想要解决的问题。使用一些id或计数器创建名称。将有两个索引,一个对应于您的手风琴(足球俱乐部),另一个对应于您的足球运动员。所以有两个索引将一起唯一地标识特定属性。@Vivz如何在一个复选框中管理两个索引,任何示例??
    ng-model="vm.team.players[$index].selected".