您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

角度指令忽略非数字输入

角度指令忽略非数字输入

HTML:

<input production-qty type="text" maxlength="3" ng-model="qty1">
@H_403_4@

指示:

app.directive('productionQty', function() {
  return {
    require: 'ngModel',
    link: function (scope, element, attr, ngModelCtrl) {
      function fromUser(text) {
        var transformedInput = text.replace(/[^0-9]/g, '');
        console.log(transformedInput);
        if(transformedInput !== text) {
            ngModelCtrl.$setViewValue(transformedInput);
            ngModelCtrl.$render();
        }
        return transformedInput;  // or return Number(transformedInput)
      }
      ngModelCtrl.$parsers.push(fromUser);
    }
  }; 
});
@H_403_4@

柱塞

另请参见input中有关ng-model的过滤器。我上面的答案是基于pkozlowski.opensource的答案建模的。

我看了ng-pattern,但是它不能过滤文本框中显示内容。设置$scope.qty1@H_403_4@为undefined@H_403_4@,但是不需要的字符在文本框中可见。

其他 2022/1/1 18:18:03 有553人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶