2016-09-09 16 views
2

私は合計を得るためのコードを作成しました。しかし、それは価値を追加しません。すべての値が1行として表示されます。このコードで何が間違っていますか?テーブル価格合計を得る方法

ProductController.js

$scope.getTotal = function(type) { 
     var total = 0; 
     angular.forEach($scope.products, function(el) { 
      total += el[type]; 
     }); 
     return total; 
    }; 

cart.html

<table class="cartdata"> 
<tr> 
<th class="a">Name</th> 
<th class="a">Price</th> 
<th class="a">Post Date</th> 
<th class="a">Remove Item</th> 
</tr> 
<tr ng-repeat="produ in products track by $index" ng-init="setTotals(produ)"> 
<td class='b'>{{produ.post_title}}</td> 
<td class="b">{{produ.ID | currency}}</td> 
<td class="b"> 
<a ng-click="delete(post.id, $index)" class="btn btn-danger"></a> 
</td> 
</tr> 

<td>Total{{getTotal('ID') | currency }}</td> 

</table> 

カートビュー

------------------------- 
| Name | Price | 
|------------------------ 
|Product 1 | $20.00 | 
|Product 2 | $35.00 | 
|Product 3 | $10.00 | 
|-----------------------| 

Total = $ 203,510.00 
+1

あなたのコードは、私のために働いている。これフィドルをチェックhttp://jsfiddle.net/9adzjtLs/ – Disha

+0

OMG。しかし、私のコードは動作しません。それから私は何をする必要がありますか? – moni123

+1

私は文字列としてIDを与えなければならないと思う..それを整数に変換してから追加してください。 – Disha

答えて

3

これをチェック - fiddle

$scope.getTotal = function(type) { 
    var total = 0; 
    angular.forEach($scope.products, function(el) { 
     total += parseFloat(el[type]); 
    }); 
    return total; 
}; 
+0

フィールドが通貨、私は 'parseFloat()'と行くだろう。 – Phil

+0

はい..ライト..答えを更新 – Disha

+0

この答えは私の友人を働いています。 ありがとうございました – moni123

関連する問題