我有一系列复选框,我用ng-repeat动态创建。 我希望根据值true或false标记每个复选框。但我不能标记一个,另外当标记一个时,其他标记。 我做错了什么?
<div ng-controller="Ctrl">
<div class="wrapper">
<div class="container-fluid">
<table border='1'>
<tr>
<th rowspan="3">Tipo de Contenido</th>
<th colspan="{{aTipoUsuarios.length * 3}}">
Tipo de Usuarios
</th>
</tr>
<tr>
<td ng-repeat="usu in aTipoUsuarios" colspan="3">
{{usu}}
</td>
</tr>
<tr>
<td ng-repeat-start="usu in aTipoUsuarios" ><i class='glyphicon glyphicon-book' tile='Permiso de Lectura'></i></td>
<td ><i class='glyphicon glyphicon-pencil' tile='Permiso de Escritura'></i></td>
<td ng-repeat-end><i class='glyphicon glyphicon-trash' tile='Permiso de Eliminación'></i></td>
</tr>
<tr>
<tr ng-repeat="rol in aRoles">
<td>{{rol.tipo_contenido}}</td>
<td ng-repeat-start='check in rol.tipo_usuario'>
<input type="checkbox" ng-model='rol.lectura' class="form-control">
</td>
<td>
<input type="checkbox" ng-model='rol.escritura' class="form-control">
</td>
<td ng-repeat-end>
<input type="checkbox" ng-model='rol.eliminacion' class="form-control">
</td>
</tr>
</table>
</div>
</div>
</div>
$scope.aRoles=
[
{
"tipo_contenido": "articulos",
"tipo_usuario":{
"administrador":
{"escritura":true, "lectura":true, "eliminacion":true},
"reportante":
{"escritura":true, "lectura":false, "eliminacion":true}
}
},
{
"tipo_contenido": "informacion",
"tipo_usuario":{
"administrador":
{"escritura":true, "lectura":false, "eliminacion":true},
"reportante":
{"escritura":false, "lectura":true, "eliminacion":false}
}
},
]
$scope.aTipoUsuarios=Object.keys($scope.aRoles[0].tipo_usuario);
答案 0 :(得分:1)
您的ng-model
定义始终指向同一个对象。
<input type="checkbox" ng-model='rol.lectura' class="form-control">
由于您的转发器中check
实际上在正确的位置循环,因此您应该将rol
替换为check
以获得正确的引用:
<input type="checkbox" ng-model='check.lectura' class="form-control">
这是你的fixed fiddle