如何以角度显示ng-model输入值作为货币?

时间:2013-12-23 08:32:20

标签: javascript jquery angularjs filter angularjs-directive

我有html

<input type="text" ng-model="price" >

<h2>{{ price | currency}}</h2>

在控制器中

$scope.price = 10;   
Which displays   **$10** in h1 if i change the value in price model input.

我希望文本框输入为货币(输入框中的$ 10为值)。 怎么做到这一点?

2 个答案:

答案 0 :(得分:15)

您可以尝试使用formattersparsers

app.directive('currency', function () {
    return {
        require: 'ngModel',
        link: function(elem, $scope, attrs, ngModel){
            ngModel.$formatters.push(function(val){
                return '$' + val
            });
            ngModel.$parsers.push(function(val){
                return val.replace(/^\$/, '')
            });
        }
    }
})

然后

<input type="text" ng-model="price" currency>

演示:Fiddle

答案 1 :(得分:-3)

对于输入我不使用org.owasp.csrfguard.PRNG=IBMSecureRandom org.owasp.csrfguard.PRNG.Provider=IBMJCE ng-bind,我总是使用ng-model

ng-value