2016-04-23 20 views
2

Ich kann die Dezimalrundung, die vom Benutzer vor der Berechnung eines Gesamtpreises ausgewählt wurde, in dieser eckigen js-App nicht korrekt anwenden.Abrufen von Werten aus dem Dropdown in 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; 

} 

}); 

ich viel mit diesem Beispiel getüftelt haben, weil ich einen benutzerdefinierten Filter nicht erstellen möchten, aber es führen Ich bin nicht in der Nähe des Ergebnisses, das ich will:

Plunkr

Ich habe eine feste Anzahl von 7 Dezimalstellen für den Arbeitscode eingegeben. Ich möchte, dass es ohne benutzerdefinierte Filter dynamisch ist, weil, nun, ich muss nur einen Parameter an eine bereits vorhandene Framework-Filterfunktion übergeben.

Wie es gemacht wird?

Antwort

0

einfach Ihre

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

zu

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

Dank ändern, es funktioniert gut – Wasted

+0

m froh, dass ich helfen könnte :) –

Verwandte Themen