Angularjs保存和更新的条件

时间:2017-08-24 11:41:15

标签: angularjs

我有一个div有两个字段。第一次如果没有记录那里我想保存它。现在它正在发生。之后我正在显示数据。但是如果我更改数据并更新它是添加带有更新数据的新行,而不是更新同一行。

这是我的HTML

    <div class="col-xs-12 col-sm-12 col-md-12"
    <tbody>
    <tr role="row" class="even" data-ng-repeat="infraitem in
    allInfraitemsByType">
    <td><strong>{{infraitem.name}}</strong></td>
    <td><input type="text"  
    name="requiredseat" data-ng-model="infraitem.requiredseat"></td>
    <td>
    <input type="text" name="available" data-ng- 
    model="infraitem.available"></td>
    <td class="text-center"><button type="submit" class="btn GreenBtn" 
    data-ng-click="saveInfrastructureDetails(infraitem)"><span 
    class="glyphicon glyphicon-ok"></span>Save</button></td>
    </tr>
    </tbody>
    </div>

这是controller.js

    $scope.saveInfrastructureDetails = function(infraitem){
    AdminCollegeService.saveInfrastructureDetails(infraitem).then
    (function(response)
    {
    if(response.data=="success")
    {
        $scope.infraitem = {};
        $scope.successmessageinfra="Infra Structure Details Saved";
    });
    }

如果数据已经存在而不是添加新记录,任何人都可以告诉如何更新同一行。

1 个答案:

答案 0 :(得分:0)

  • 确保$scope.saveInfrastructureDetails功能正在点击
  • 确保$scope.saveInfrastructureDetails将数据更新到数据库或插入数据。

但主要想法是

  
      
  • 确保您使用form标记插入记录,如果是,则将更新按钮类型 type="submit"更改为type="button"
  •   

下面的示例就像一把钥匙。我正在使用数组保存和更新数据。

修改

angular.module("test",[]).controller("testCont", function($scope)
{
$scope.testArray =[{id:1,name:"Me"},{id:0,name:''}];
$scope.Save=function(data)
{
if(data.id == 0)
{
data.id=2;//instert code
}
else
{
return false;// you can call your update code
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="test" ng-controller='testCont'>
 <table>
            <tr ng-repeat="testobject in testArray">
                <td>Name {{testobject.id}}</td>
                <td>
                    <input type="text" ng-model="testobject.name" />
                </td>
                <td><input value="save" type="button" ng-click="Save(testobject)" /></td>
            </tr>
        </table>
</div>