仅角度数输入限制0

时间:2015-12-10 10:33:47

标签: jquery angularjs

我正在使用Angular,我只有一个数字输入,

问题是我需要限制0。 有任何建议请..

2 个答案:

答案 0 :(得分:1)

通过使用 NgModelController 提供的$解析器,我们可以从数字字段中扫描并删除零。

我创建了一个指令,它将在数字字段中限制零。将其添加到您的应用程序中。

然后你可以在数字输入元素上使用它来防止零。它仍然允许负数。

注意:您需要将其用作输入字段的属性。比如restrict-zero

示例:<input type="number" restrict-zero ng-model="number">

<强> See Plnkr

angular.module('app', [])
  .controller('myCtrl', function($scope) {
    $scope.number = '';
  })
  .directive('restrictZero', function() {
    return {
      require: 'ngModel',
      restrict: 'A',
      link: function(scope, element, attrs, modelCtrl) {
        modelCtrl.$parsers.push(function(inputValue) {
          if (inputValue == null)
            return ''
          cleanInputValue = inputValue.replace(/^0/g, '');
          if (cleanInputValue != inputValue) {
            modelCtrl.$setViewValue(cleanInputValue);
            modelCtrl.$render();
          }
          return cleanInputValue;
        });
      }
    }
  });
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
  <body ng-app="app" ng-controller="myCtrl">
    Number : <input type="number" restrict-zero ng-model="number" name="number">
  </body>

</html>

答案 1 :(得分:0)

添加nmtxtfld!.text属性:

min='1'

但我想你只需要限制<input type='number' min='1'> ,所以所有其他数字的正数和负数都是可插入的,所以你可以创建一个函数,你可以使用0的角度来获取{ {1}}可以限制如下:

$event
keyCode/stringvalue