2016-04-23 39 views
2

在這個角度js應用程序中,我無法正確應用用戶在計算總價格之前選擇的小數四捨五入。從angularjs中的下拉檢索值

HTML

<html> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<body> 

<div ng-app="myApp" ng-controller="lolCtrl"> 
    <form class = "col-md-6"> 
    <div class = "form-group"> 
    <label for = "prezzo"> Prezzo </label> 
    <input type="number" class = "form-control" placeholder = "Prezzo" ng-model="price"> 
    </div> 
    <div class = "form-group"> 
    <label for = "percentuale"> Percentuale </label> 
    <input type="number" class = "form-control" placeholder = "Percentuale" ng-model="percent"> 
    </div> 
    <div class = "form-group"> 
    <label for = "precisione"> n° decimali </label> 
    <select class = "form-control" ng-model = "selectPrecision" ng-options="num.value as num.precision for num in decimali"></select> 
    </div> 
</form> 
<button class = "btn btn-default" ng-click="percentuale()">Prezzo</button> 
<p>Il risultato è:<span ng-model = "selectPrecision">{{risultato | number : 7}}</span></p> 
    </div> 
</body> 

JS

var app = angular.module('myApp', []); 

app.controller('lolCtrl', function($scope){ 
$scope.price = 20.232223; 
$scope.percent = 20; 

$scope.decimali= [ 
{value:0, precision: "0 decimali"}, 
{value:1, precision: "1 decimali"}, 
{value:2, precision: "2 decimali"} 
]; 

$scope.percentuale = function(){ 
    $scope.risultato = $scope.price + $scope.price* $scope.percent/100; 

} 

}); 

,因爲我不希望創建一個自定義過濾器,但它導致我已經擺弄了很多與這個例子我遠不及我想要的結果:

Plunkr

爲了給你工作代碼,我已經把7位小數的​​固定數。我希望它是動態的,沒有自定義過濾器,因爲,我只需要將參數傳遞給已經存在的框架過濾器函數。

這是怎麼完成的?

回答

0

只要改變你的

<p>Il risultato è:<span ng-model = "selectPrecision">{{risultato | number : 7}}</span></p> 

<p>Il risultato è:<span ng-model = "selectPrecision">{{risultato | number : selectPrecision}}</span></p> 
+0

謝謝,它工作正常 – Wasted

+0

米很高興我能幫助:) –