使用Angular js更新ng-repeat中的数据

Update data in ng-repeat using Angular js

本文关键字:数据 ng-repeat 更新 Angular js 使用      更新时间:2023-09-26

我有一个问题,更新数据到数据库。例如:在我的表中包含特定id的三行。因此,当编辑我通过ng-repeat显示内容时。

<<p> 视图/strong>
  <tr class="odd gradeX" ng-repeat="d in data">
       <td> <input type="text" name="tools" class="form-control" ng-model="d.po_tools" placeholder="Tools"> </td>
       <td> <input type="text" name="qnty" class="form-control" ng-model="d.po_quantity" placeholder="Quantity"> </td>
   </tr>
<<p> CI控制器/strong>
 public function updatePurchaseDetails()
{
     $po_id = $this->uri->segment(4); 
     $data = file_get_contents('php://input');  
      $this->model->update_purchase_data($data,$data['count']);
}

    public function update_purchase_data($data,$count)
    {
       $count=$count+1; 
         for($i=0;$i<$count;$i++) 
        {
            $data_array = array(
            'po_id' => $id,
            'po_tools' => $data['data']['po_tools'] ,
            'po_quantity' =>$data['data']['po_quantity']   
            );
            $this->db->update('purchase_order_tool', $data_array);     
            $this->db->where('po_id',$purchase_id);
        } 
  }       

如何在提交时将编辑过的数据更新到db

HTML:

   <td> <input type="text" name="tools" class="form-control" ng-model="d.po_tools"  ng-keyup="submit('tools');" value="{{d.po_tools}}" placeholder="Tools"></td>
   <td> <input type="text" name="qnty" class="form-control" ng-model="d.po_quantity" ng-keyup="submit('quantity');" value="{{d.po_quantity}}" placeholder="Quantity"> </td>

JS控制器文件:
angular.module('appname').controller('myCtrl',function($scope,Service){
  if(!$scope.d) $scope.d = {};
  $scope.submit = function (type){
    var obj = {
      data : $scope.d,
      type : type
    }
    service.send(obj).then(function(success){
      console.log(success);
    },function(err){
      console.log(err);
    }).finally(function(){
      console.log('finish');
    });
  }
});

JS服务文件:

angular.module('appname').factory('Service',$http,function(){
  return {
    send : function(obj){
      var params = $.param(obj);
      var options = {
            url : 'http://example.com/upload.php',
            method: 'POST',
            data : params,
            headers: {
              'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
            }
          };
      return $http(options);
    }
  }
});