以下是我的代码,其中我试图获取多个复选框的值被选中,但有些如何不起作用。让我知道我在这里做错了什么,BTW列表是动态的,不会只包含数组中的3个项目。
我的Plnkr - PLNKR CODE
HTML -
<table>
<tr ng-repeat="student in studentList">
<td ng-bind="$index + 1"></td>
<td ng-bind="student.email"></td>
<td ng-bind="student.fname"></td>
<td ng-bind="student.lname"></td>
<td>
<input type="checkbox" ng-model="studcheck" ng-value="$index" />
</td>
</tr>
</table>
{{studcheck}}
控制器代码 -
var myApp = angular.module('myApp', []);
myApp.controller('mainCtrl', function($scope){
$scope.studentList = [
{email: 'test1@gmail.com', fname: 'Test1', lname: 'Last1' },
{email: 'test2@gmail.com', fname: 'Test2', lname: 'Last2' },
{email: 'test3@gmail.com', fname: 'Test3', lname: 'Last3' },
];
$scope.studcheck = {};
});
答案 0 :(得分:3)
您不能在同一型号上多次使用ng-model
,但这里只需指定密钥即可:
<input type="checkbox" ng-model="studcheck[$index]" ng-value="$index" />
如果您想更新student
模型以了解是否已选中,您可以尝试使用ng-change
:
<input type="checkbox" ng-model="studcheck[$index]" ng-value="$index" ng-change="student.checked = !student.checked" />