这可能不是您想要的答案,但可能对您有所帮助:
JsBin:http: //jsbin.com/iyulaj/1/
使用指令,您可以获取输入数据,对其进行解析,然后将其放入$scope
变量中。请参阅:http ://docs.angularjs.org/api/ng.directive:ngModel.NgModelController ($parsers
和$formatters
。我取自:Using angularjs filter in input element)。
该指令可以搜索逗号并将其替换为点。它可能看起来像这样:
angular.module('MyModule').directive('numberinput', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ngModelController) {
ngModelController.$parsers.push(function(data) {
//convert data from view format to model format
return data.replace(',', "."); //converted
});
ngModelController.$formatters.push(function(data) {
//convert data from model format to view format
return data.replace('.', ","); //converted
});
// http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController
}
};
});
输入字段:
<input ng-model='value' type='text' numberinput='' />
另请注意,输入现在是一个文本字段。看看这个:http: //jsbin.com/iyurol/1/
输入是一个数字字段。但是输入11,5
它会输出ùndefined
(请注意,我住在德国,我们使用的是逗号符号)。因此,如果数字不是点符号,浏览器不会正确“解析”数字,即使您居住在使用逗号符号的区域......
请纠正我,如果有什么问题;)