2016-04-23 2 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

м рад, что я мог бы помочь :) –

Смежные вопросы