2016-10-13 2 views
0

Я хочу сделать CRUD с angularjs. когда я делаю обновление, он не может работать. данные считываются только первым индексом. когда я нажимаю вторую строку, данные считываются первым индексом. Кто-нибудь может мне помочь? Я новичок в учебе angularjs. данные в виде списка:Как сделать обновление в Angularjs

<table class="table"> 
     <tr> 
      <th>ID</th> 
      <th>Name</th> 
      <th>Address</th> 
      <th>Action</th> 
     </tr> 
     <tr ng-repeat="x in listData"> 
      <td>{{x.id}}</td> 
      <td>{{x.nama}}</td> 
      <td>{{x.alamat}}</td> 
      <td> 
       <a href="#" ng-click="update(x.id)">Edit</a> 
      </td> 
     </tr> 
    </table> 

обновление формы:

<h2>Add Data</h2> 
    <table> 
     <tr> 
      <td>Id</td> 
      <td><input type="text" ng-model="id"></td> 
     </tr> 
     <tr> 
      <td>Nama</td> 
      <td><input type="text" ng-model="nama"></td> 
     </tr> 
     <tr> 
      <td>Alamat</td> 
      <td><input type="text" ng-model="alamat"></td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="button" value="Update" ng-click="edit()"></td> 
     </tr> 
    </table> 

контроллер:

$scope.update = function(id){ 
     var index = getSelectedIndex(id); 
     var x = $scope.listData[index]; 
     $scope.id = x.id; 
     $scope.nama = x.nama; 
     $scope.alamat = x.alamat; 
    } 

    $scope.edit = function(id){ 
     var index = getSelectedIndex(id); 
     $scope.listData[index].nama = $scope.nama; 
     $scope.listData[index].alamat = $scope.alamat; 
    } 

ответ

2

Вы ожидаете "идентификатор" внутри "редактировать()" функции, но не обеспечивают он, и «getSelectedIndex (id)» может возвращать первый элемент

Смежные вопросы