以角度检查复选框

时间:2013-11-23 16:16:34

标签: 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'}];

以及包含他/她可用日期的字符串的用户:

$scope.user={"userdays":"1011111"};;

1 =可用,0 =不可用。

我将它绑定到一个复选框列表,如下所示:

<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={};

然后我想保存用户可用的日子。但除非我进行更改(即单击其中一个复选框),$ scope.userdays-property不包含任何内容,并且它只包含我与之交互过的复选框的值。

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

我在这里创建了一个plunker,显示了我当前的实现: http://plnkr.co/edit/Yrr2wrcoUno6tzgBgOMa?p=preview

感谢

托马斯

1 个答案:

答案 0 :(得分:1)

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

检查更新plunker