数组:
getRoles =[{"id":3,"role":"role1"},{"id":4,"role":"role2"},{"id":6,"role":"role3"}]
HTML:
<form ng-submit="userRegister()" name="registrationForm" id="registrationForm">
<div class="checkbox" ng-repeat="role in getRoles">
<label ng-init="i=i+1">
<input type="checkbox" class="flat" ng-model="registrationData.role_ids[i]" ng-value="{{role.id}}">{{role.role}}
</label>{{registrationData.roles_id}}</div>
<button type="submit">submit</button>
</form>
在上面的html变量i
不起作用。在每个循环中,它将打印i
,而不是i
的值
需要:我想提交表单,并在控制器中获取所选复选框的名称和值。请帮助我。我很感激所有的回应。
答案 0 :(得分:0)
问题是,ngRepeat
会在每次迭代时创建一个新范围,并初始化它自己的i
,因此i=i+1
不可能被评估为有效整数。
您可以使用$index
属性来访问迭代索引,如:
<form ng-submit="userRegister()" name="registrationForm" id="registrationForm">
<div class="checkbox" ng-repeat="role in getRoles">
<label>
<input type="checkbox" class="flat" ng-model="registrationData.role_ids[$index]" ng-value="{{role.id}}">{{role.role}}
</label>{{registrationData.roles_id}}</div>
<button type="submit">submit</button>
</form>