我有一个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";
});
}
如果数据已经存在而不是添加新记录,任何人都可以告诉如何更新同一行。
答案 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>