将1添加到当前值onsubmit

时间:2016-07-25 00:57:03

标签: javascript php angularjs

每当点击提交按钮时,我都试图在页面上添加1。已经从数据库计算了"total"(表字段名称)值,因此当单击该按钮时,应该添加一个值。当您单击提交按钮时,记录会嵌套在每一行上,它应该将1添加到当前值

问题是我无法在javascript中绑定数据库值(total)以使其显示在页面上。

如果这样,页面上没有任何值

$http.get('http://localhost/marv/feeds.php').success(function(data){
       console.log(data);
       $scope.feeds=data;
}   
    $scope.total=(data.total);
     $scope.lovepic=function() {
    event.preventDefault();

      $scope.total++;

但是这样的时候

$http.get('http://localhost/marv/feeds.php').success(function(data){
       console.log(data);
       $scope.feeds=data;
}   
    $scope.total=0;
     $scope.lovepic=function() {
    event.preventDefault();

      $scope.love_total++;

零(0)出现在页面上,但每行都有自己的唯一值,这就是为什么我希望零值替换为名为total的数据库表中的字段

HTML

<div ng-controller="feedsctrl" ng-repeat="item in feeds">
<il>{{total}}</il>
</div>

1 个答案:

答案 0 :(得分:1)

首先,您不得使用successerror方法,因为它们已被弃用,根据此deprecation notice

  

弃用通知

     

已弃用$http遗留承诺方法successerror。请改用标准then方法。如果$httpProvider.useLegacyPromiseExtensions设置为false,则这些方法会抛出$http/legacy错误。

现在,关于你的问题:

主要问题是您尝试访问object功能之外的data success。但是,您已在total中拥有属性 data,因此您无需存储在单独的变量中。

另外,为了增加每个项目的总数,您应该使用ngClick指令,如下所示:

ng-click="addComment(item)"

$scope.addComment = function(item) {
   item.total = parseInt(item.total) + 1;
}

这是代码段正在运行:

(function() {
  angular
    .module('app', [])
    .controller('MainCtrl', MainCtrl);

  MainCtrl.$inject = ['$scope'];

  function MainCtrl($scope) {
    $scope.feeds = [  
      {  
        "comment":"very nice",
        "total":"3",
        "user":"max"
      },
      {  
        "comment":"interesting",
        "total":"8",
        "user":"okonah"
      },
      {  
        "comment":"wow",
        "total":"20",
        "user":"soja"
      }
    ];

    $scope.addComment = function(item) {
      item.total = parseInt(item.total) + 1;
    }
  }
})();
<!DOCTYPE HTML>
<html ng-app="app">

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script>
</head>

<body ng-controller="MainCtrl">

  <div ng-repeat="item in feeds">
    <ul>
      <li>{{item.comment}}</li>
      <li>{{item.total}} Comments</li>
      <li>Commented by{{item.user}}</li>
    </ul>
    <button ng-click="addComment(item)">add up</button>
  </div>
</body>

</html>