【发布时间】:2014-09-28 00:18:50
【问题描述】:
我正在使用一个 Angular 指令,它用逗号格式化输入字段数字。我还希望这个过滤器自动插入小数点。每个数字总是会涉及到美分。例如,如果我想在输入字段中输入 1,000.00 美元,我必须输入 100000。我做了一个 plunkr,但无法获得角度工作
app.directive('format', ['$filter', function ($filter) {
return {
require: '?ngModel',
link: function (scope, elem, attrs, ctrl) {
if (!ctrl) return;
ctrl.$formatters.unshift(function (a) {
return $filter(attrs.format)(ctrl.$modelValue)
});
ctrl.$parsers.unshift(function (viewValue) {
var plainNumber = viewValue.replace(/[^\d|\-+|\.+]/g, '');
elem.val($filter('number')(plainNumber));
return plainNumber;
});
}
};
}]);
【问题讨论】:
标签: angularjs angularjs-ng-model