2016-10-13 6 views
0

Ich möchte CRUD mit angularjs machen. Wenn ich ein Update mache, kann es nicht funktionieren. Die Daten werden nur beim ersten Index gelesen. Wenn ich auf die zweite Zeile klicke, wird der erste Index gelesen. Kann mir bitte jemand helfen? Ich bin neu in der Studie angularjs. Daten der Listenansicht:Wie mache ich ein Update in 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> 

Aktualisierung:

<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> 

Controller:

$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; 
    } 

Antwort

2

Sie erwarten "id" innen "bearbeiten()" Funktion, aber sie sind nicht die Bereitstellung it, und "getSelectedIndex (id)" gibt möglicherweise den ersten Artikel

zurück
Verwandte Themen