簡體   English   中英

使用ng-model標記復選框ANGULAR.JS的值

[英]Use ng-model to mark the value of checkboxes ANGULAR.JS

http://jsfiddle.net/32m1mbkL/

我有一系列用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);

您的ng-model定義始終指向同一對象。

<input type="checkbox" ng-model='rol.lectura' class="form-control">

由於您已經check入了實際上在正確位置循環的中繼器,因此您應該只用check替換rol以獲得正確的參考:

<input type="checkbox" ng-model='check.lectura' class="form-control">

這是你的固定小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM