在angularjs中编辑/更新项目

时间:2017-07-10 04:24:37

标签: javascript angularjs

这是html文件

它包含一个带有字段名称和电子邮件ID的模型弹出窗口。我需要编辑和更新它们

<tr ng-repeat="item in collection">
<a ng-click=readOne(item.id) data-toggle="modal" data-target="#myModal">Edit</a>
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
    <div class="modal-content">
        <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="modal-product-title">Edit</h4>
    </div>
        <div class="modal-body">
        <div><b style='color: red'>{{modalstatustext}}</b></div>
            <form id="form-dinminder">
            <div class="form-group">
              <label for="name" class="control-label">Name</label>
              <input ng-model="name" type="text" class="form-control" id="form-name" placeholder="Name">                                            
           </div>
        <div class="form-group">
            <label for="email" class="control-label">Email ID</label>
            <input ng-model="email" type="text" class="form-control" id="form-email" placeholder="Email ID">
        </div>
    </form>
</div>
    <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button id="btn-update-product" type="button" class="btn btn-warning" ng-click="updateProduct()">Save changes</button>
      </div>
     </div>
    </div>
   </div>
 </td>
</tr>

controller.js

/***********edit************/
    $scope.readOne=function(id){
        console.log("selected agency id",id)
        adminservice.selectedAgency(id).then(function(response){
            $scope.aid = response.data[0].id;
            $scope.name=response.data[0].name;
            $scope.email=response.data[0].webaddress;

            //update modal
            $('#myModal').modal('show');

        },function(error){
            $scope.modalstatustext = "Unable to Update data!";
        });
    }

    $scope.updateProduct=function(id){

        var Name = $scope.name;
        var Email = $scope.email;
        service.updateAgency(Name,Email).then(function(response){
            //alert(response.data);         
             $('#myModal').modal('hide');
                 showAll();//after updating all items are shown
        },function(error){
            console.log("error in updating ");
        });

    }

service.js

var updateAgency=function(Name,Email){

    return $http({
        method: "POST",
        url: CONFIG.apiurl + 'edit',
        params:{
            name:Name,
            webaddress:Email
        }
    }); 

我不知道我做错了什么。 后端似乎完美无缺。 感谢

2 个答案:

答案 0 :(得分:1)

您的 UpdateProduct 函数需要参数 id

   <button id="btn-update-product" type="button" class="btn btn-warning" ng-click="updateProduct(passidhere)">Save changes</button>

答案 1 :(得分:0)

updateProduct函数中删除id参数,因为未使用此参数。