如何将ng-repeat中的动态文本框值相加

时间:2015-12-25 17:25:47

标签: javascript html angularjs sum

我正在创建一个动态表单字段,其中ng-repeat中只有一个输入类型编号字段,用户可以通过单击添加按钮添加任意数量的字段,现在我需要计算在动态中输入的值的总和数字字段和更新在文本框中,下面我粘贴我的代码供您参考,帮我解决

      <fieldset ng-repeat="field in table.fields track by $index" >

 <input type="number" ng-model="table.fields[$index].item_count" class="form-control" name="item_count" ng-pattern="/^[0-9]/" placeholder="Category Item View Count" required>

  <button ng-click="removeChoice()" class="remove btn btn-danger" >close</button>
     </fieldset>


      <button class="addfields btn btn-success" ng-click="addFormField()" ng-disabled="!frm.cat_name.$dirty||!frm.cat_desc.$dirty||frm.cat_desc.$invalid||frm.cat_name.$inavalid">Add fields</button>

1 个答案:

答案 0 :(得分:1)

只需创建自定义过滤器即可汇总您的数字:

angular.module('App').filter('mysum', function() {
  return function(items) {
    var sum = 0;
    items.forEach(function(item) {
      if (item.item_count) {
         sum += item.item_count;      
      }
    })
    return sum;
  }
})

然后用它来显示总和:

<span>{{ table.fields | mysum }}</span>