Reputation: 369
I'm having in html
<input type="text" ng-model="price" >
<h2>{{ price | currency}}</h2>
In controller
$scope.price = 10;
Which displays **$10** in h1 if i change the value in price model input.
I want the text box input to be in currency ($10 in input box as value). How to achieve this?
Upvotes: 8
Views: 22136
Reputation: 915
For input I don't use ng-bind
or ng-model
, I always use ng-value
instead.
<input type="text" ng-value="variable | currency:'US$ '" />
Upvotes: -3
Reputation: 388316
You can try using formatters and parsers like
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(/^\$/, '')
});
}
}
})
then
<input type="text" ng-model="price" currency>
Demo: Fiddle
Upvotes: 16