简短的回答是您需要获取+设置元素的值,使用(例如)一个简单的正则表达式来删除点:
var enteredValue = $(_element).val();
$(_element).val(enteredValue.replace(/\./g,''));
但是,与 Angular 的表单处理集成可能是一个好主意,它有许多钩子来以这种方式处理输入的验证和处理。具体来说,使用 Angular 的 ngModelController 的 $parsers,它处理用户输入的值,并且只允许“好”值进入范围内的模型。您可能可以在现有的自定义指令中执行此操作,或者如下单独执行此操作:
app.directive('cleanNumber', function() {
return {
require: 'ngModel',
link: function link(scope, iElement, iAttrs, ngModelController) {
ngModelController.$parsers.push(function(val) {
return val.replace(/\./g,'');
});
}
};
});
您可以将其用作属性:
<input type="text" name="number" ng-model="number" clean-number />
然后您可以使用 ngSubmit 指令调用函数来提交表单:
<form name="myForm" ng-submit="submit()">
...
<button type="submit">Submit!</button>
</form>
然后处理后的值在$scope.number 的范围内可用。您可以在 my plunkr 中看到这一点。