mardi 8 novembre 2016

How to assign reassign checkbox ng-model on ng-repeat

Please help me out. I have a checkboxes with models defined. I am displaying checkboxes and using the model to set if the checkbox is selected or not. Below is the code for setting the ng-model.

function LoadValues(obj) {

  vm.index = false;
  vm.create = false;
  vm.edit = false;
  vm.delete = false;
  vm.other = false;


  var pList = obj.Functions;
  var currentModule = obj.Name;

  for (var i = 0; i < pList.length; i++) {

    var currentItem = pList[i];
    console.log(currentItem)

    if (currentItem.search("Index") > 0) {
      vm.index = true;
      console.log(vm.index);
    } else if (currentItem.localeCompare("Create") > 0) {
      vm.create = true;
    } else if (currentItem.localeCompare("Edit") > 0) {
      vm.edit = true;
    } else if (currentItem.localeCompare("Delete") > 0) {
      vm.delete = true;
    } else if (currentItem.localeCompare("Other") > 0) {
      vm.other = true;
    }
  }
};

Below is the check boxes.

<tbody>
  <tr ng-repeat="item in list">
    <td>
      
    </td>
    <td>
      <input id="Index" type="checkbox" ng-model="vm.index" ng-click="EditRole(Right,item.Module,'Index')">
    </td>
    <td>
      <input id="Create" type="checkbox" ng-model="vm.create" ng-click="EditRole(item.Role,'Create')">
    </td>
    <td>
      <input id="Edit" type="checkbox" ng-model="vm.edit" ng-click="EditRole(item.Role,item.Module,'Edit')">
    </td>
    <td>
      <input id="Delete" type="checkbox" ng-model="vm.delete" ng-click="EditRole(item.Role,item.Module,'Delete')">
    </td>
    <td>
      <input id="Other" type="checkbox" ng-model="vm.other" ng-click="EditRole(item.Role,item.Module,'Other')">
    </td>
  </tr>
</tbody>

The problem is it assigns the same ng-model to all the items in the list. I have tried to find solutions nothing is helping. Your help would be very much appreciated.

Aucun commentaire:

Enregistrer un commentaire