我正在使用Angular,我只有一个数字输入,
问题是我需要限制0。 有任何建议请..
答案 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