加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:31:17 所属栏目:安全 来源:网络整理
导读:当欧洲国家输入十进制数字时,它们使用逗号(,)而不是点(.).因此,当用户输入输入时,我想用逗号替换点符号.我知道输入=数字这样做,但我需要支持IE. 我想指令是最好的吗?我尝试了下面的代码.但它失败了. .directive('replaceComma',function(){ return { restri
当欧洲国家输入十进制数字时,它们使用逗号(,)而不是点(.).因此,当用户输入输入时,我想用逗号替换点符号.我知道输入=数字这样做,但我需要支持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是一种双向绑定,因此它应该可以工作

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读