Javascript 在angular中获取复选框

Javascript 在angular中获取复选框,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我有一个数组,包含一周中的几天。看起来是这样的: $scope.days=[{id:0, day: 'Monday'},{id:1, day: 'Tuesday'},{id:2, day: 'Wednesday'},{id:3, day: 'Thursday'}, {id:4, day: 'Friday'}, {id:5, day:'Saturday'}, {id:6, day:'Sunday'}]; <p ng-repeat="day in days"> <input

我有一个数组,包含一周中的几天。看起来是这样的:

$scope.days=[{id:0, day: 'Monday'},{id:1, day: 'Tuesday'},{id:2, day: 'Wednesday'},{id:3, day: 'Thursday'}, {id:4, day: 'Friday'}, {id:5, day:'Saturday'}, {id:6, day:'Sunday'}];
<p ng-repeat="day in days">
  <input  ng-model="userdays[day.id]" ng-checked="user.userdays[day.id]!=0" type="checkbox" />
{{day.day}}</p>
以及具有字符串的用户,该字符串包含他/她可用的天数:

$scope.user={"userdays":"1011111"};;
1=可用,0=不可用

我将其绑定到如下复选框列表:

$scope.days=[{id:0, day: 'Monday'},{id:1, day: 'Tuesday'},{id:2, day: 'Wednesday'},{id:3, day: 'Thursday'}, {id:4, day: 'Friday'}, {id:5, day:'Saturday'}, {id:6, day:'Sunday'}];
<p ng-repeat="day in days">
  <input  ng-model="userdays[day.id]" ng-checked="user.userdays[day.id]!=0" type="checkbox" />
{{day.day}}</p>
然后我想保存用户可用的天数。但是,除非我进行更改(即单击其中一个复选框),否则$scope.userdays-property不包含任何内容,它只包含我与之交互的复选框的值

我的问题是,无论我是否实际单击了其中一个复选框,如何获取所有复选框的值

我在这里创建了一个plunker,显示了我当前的实现:

谢谢


Thomas

您可以使用for循环来设置初始状态

检查更新