【问题标题】:ng-click for checkbox angularjsng-click 复选框 angularjs
【发布时间】:2016-12-09 09:34:09
【问题描述】:

我正在创建一个网络应用程序,如果有 10 个数据,我现在可以在我的表中获取费用信息

1)100

2)200

3)300

4)200

5)300

6)400

7)500

8)600

9)900

10)200

所有这些数据都将显示给用户,每个数据都有一个类似的复选框

<td>{{a.salary}}</td>
<td><input type="checkbox" ng-click="updatefunction(a)" />

我的复选框正在调用 angularjs 的控制器

$scope.updatefunction = function (param) {
            $scope.updateparam = param;
            console.log($scope.updateparam.salary);
            $scope.totalsalary = Number($scope.totalsalary) + Number($scope.updateparam.salary);
            console.log($scope.totalsalary);
        }

在 ng-click 上将调用此控制器,但如果用户单击两次,则该值将递增两次,并且如果我使用 ng-checked(1 到 10),所有条目都将递增,我需要做什么,我想要增加,但如果用户取消选中或点击多次(该值应该减少),

【问题讨论】:

    标签: jquery angularjs checkbox


    【解决方案1】:

    您需要为您的复选框字段(ng-model)设置一个标志。

    HTML

    <input type="checkbox" ng-model="exp.checked" 
                 data-ng-click="calculateTotal(exp)"/>{{exp.salary}}
    

    JS

    $scope.calculateTotal = function(exp){
        if(exp.checked){
          $scope.total += exp.salary;
        }else{
          $scope.total -= exp.salary;
        }
      }
    

    您的解决方案是here

    【讨论】:

      【解决方案2】:

      您需要在复选框中使用 ng-model

      <td><input type="checkbox" ng-click="updatefunction(a)" ng-model="a.checked" />
      

      最初在你的控制器集中

      a.checked=false;
      

      因为所有复选框都未选中

      $scope.updatefunction = function (param) {
      if(param.checked){
                  $scope.updateparam = param;
                  console.log($scope.updateparam.salary);
                  $scope.totalsalary = Number($scope.totalsalary) + Number($scope.updateparam.salary);
                  console.log($scope.totalsalary);
      }else{
           $scope.totalsalary = Number($scope.totalsalary)  -Number($scope.updateparam.salary);
      
      }
              }
      

      希望这能解决您的问题。如果在重新加载页面后的最后一个 checked 值没有被选中并且任何复选框已经被选中,那么在最后一个检查 =false

      【讨论】:

        猜你喜欢
        • 2013-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-28
        • 2023-03-31
        • 2015-07-27
        相关资源
        最近更新 更多