angularjs – 在输入字段中用逗号替换逗号

前端之家收集整理的这篇文章主要介绍了angularjs – 在输入字段中用逗号替换逗号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当欧洲国家输入十进制数字时,它们使用逗号(,)而不是点(.).因此,当用户输入输入时,我想用逗号替换点符号.我知道输入=数字这样做,但我需要支持IE.

我想指令是最好的吗?我尝试了下面的代码.但它失败了.

.directive('replaceComma',function(){
    return {
      restrict: 'A',replace: true,link: function(scope,element,attrs){
        scope.$watch(attrs.ngModel,function (v) {
          var convert = String(v).replace(",",".");
          attrs.NgModel = convert;
        });
      }
    }
  });

转换变量是正确的.但是输入框中的值不会改变.所以我猜attrs.ngModel =转换,是错的?

解决方法

我认为没有必要像指令那样做.

说你的模板是

<input ng-model='someModel'>

在你的控制器中,

$scope.$watch('someModel',function(newVal){
    $scope.someModel = newVal.replace(/,/g,'.');
})

ng-model是一种双向绑定,因此它应该可以工作

猜你在找的Angularjs相关文章