angularJs从输入中获取旧值

时间:2018-05-22 11:26:18

标签: php angularjs

我是angularJs的新手,我试图获得旧值,可以编辑数据库中的数据。

$scope.editName=function(OldName, newName){
    $http.post("/api/data/edit/"+OldName+"/"+newName, {
    }).then(function(response){
        $scope.getData();
    },function(error){
    });
};

和我的HTML

<tr ng-repeat="d in data">
  <td ng-show="!show">{{data.name}}</td>
  <td ng-show="show">
      <input type="text" class="form-text" size="20" ng-model="data.name">
  </td>
  <td>
      <a ng-click="show = ! show" ng-show="!show" title="<?php print t("Edit"); ?>"><?php print t("Edit"); ?></a>
      <a ng-click="show = ! show;editName(???, data.name)" ng-show="show" title="<?php print t("Save"); ?>"><?php print t("Save"); ?></a>
  </td>
</tr>

我不知道如何获得旧值,如何在数据库中进行更新。我刚刚获得新值

1 个答案:

答案 0 :(得分:0)

在页面加载时将初始值设置为数据对象的新属性

app.controller('AppCtrl', function($scope, data) {
    angular.forEach(data, function (dataEntry) {
        dataEntry.oldName = dataEntry.name;
    });
});

然后在HTML中调用editName(data.oldName, data.name)

<a ng-click="show = ! show;editName(data.oldName, data.name)" ng-show="show" title="<?php print t("Save"); ?>"><?php print t("Save"); ?></a>