嗨!我有以下输入框:
<div ng-repeat="item in items"
<input ng-model="item.cost" />
</div>
我想弄清楚如何将“货币”过滤器应用于输入框。因此,当显示值时,它会显示 $ 符号和适当的货币符号。我可以使用 {{item.cost | currency }}
但我需要该框可编辑以在需要时更改值。
请让我知道如何将货币过滤器应用于输入框。
谢谢
最佳答案
试试这个
.directive('currencyFormatter', ['$filter', function ($filter) {
formatter = function (num) {
return $filter('currency')(num);
};
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attr, ngModel) {
ngModel.$parsers.push(function (str) {
return str ? Number(str) : '';
});
ngModel.$formatters.push(formatter);
element.bind('blur', function() {
element.val(formatter(ngModel.$modelValue))
});
element.bind('focus', function () {
element.val(ngModel.$modelValue);
});
}
};
}]);
和 html
<div ng-repeat="item in items">
<input ng-model="item.cost" currency-formatter/>
</div>
<div ng-repeat="item in items">
{{item.cost}}
</div>
关于javascript - 输入框中的 Angularjs 货币格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927695/