带有ng-repeat复选框的动态ng模型

时间:2017-01-22 06:30:04

标签: javascript angularjs angularjs-ng-repeat ng-repeat

我有一个JSON对象,如下所示,名称为 $ scope.permissions

{
    admission:{create:false,delete:false,read:false,update:false},
    student:{forDelete:false,read:false,viewPhone:false},
    course:{create:false,delete:false,read:false,update:false},
    teacher:{create:false,read:false,contact:false}
}

我想在每一行中制作动态 ng-model ,如

<div ng-repeat="(permissionName, permission) in permissions">
      {{permissionName}} |
      <label ng-repeat="(k,v) in permission">
         <input type="checkbox" ng-model="permission.k">
            {{ k }}
       </label>
      <button ng-click="updatePermission(permission)">Update</button>
</div>

当用户点击更新按钮时,它将传递学生对象,复选框的值为true或false。

1 个答案:

答案 0 :(得分:1)

您可以先使用(key, value)格式ng-repeat

循环权限对象

<强>标记

<div ng-repeat="(permissionName, permission) in permissions">
    {{permissionName}} |
    <label ng-repeat="(k,v) in permission">
      <input type="checkbox" ng-model="permission[k]"> {{ k }}
    </label>
    <button ng-click="updatePermission(permission)">Update</button>
</div>

Demo Plunkr