2016-10-13 61 views
0

我想用angularjs製作CRUD。當我進行更新時,它無法工作。數據只讀取第一個索引。當我點擊第二行時,數據被讀取到第一個索引。任何人都可以幫助我嗎?我是學習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

您期待 「ID」 內部 「編輯()」 功能,但您沒有提供它和「getSelectedIndex(id)」可能會返回第一項