我希望有TryParse,但我想没有在AngularJS。我试图用angular.isNumber()
。我想让我的程序执行的操作是:用数字0
替换任何非数字输入。它实际上做了什么:输入框忽略了不允许写下来的任何不是数字的东西。AngularJS - 如何将数字0,如果输入不是数字
<script>
var app = angular.module('BindingsApp', []);
app.controller('InputCtrl', function($scope) {
$scope.num3 = 0;
$scope.edit = function() {
$scope.num1 = parseInt($scope.num1);
$scope.num2 = parseInt($scope.num2);
function isNumeric(num) {
return !isNaN(num);
}
if (!angular.isNumber($scope.num1)) {
$scope.num1 = 0;
}
if (!angular.isNumber($scope.num2)) {
$scope.num2 = 0;
}
$scope.num3 = $scope.num1 + $scope.num2;
};
});
</script>
<input type="text" ng-model="num1" ng-change="edit()" value="isNumeric(num1)" />
<br />
<input type="text" ng-model="num2" ng-change="edit()" value="{{num2}}" />
<br />
<input type="text" ng-model="num3" ng-change="edit()" value="{{num3}}" />
<br />
谢谢,这是一个学校任务,我被指示不要使用type =“number”,而只是使用Angular.JS来解决它: - \ (它也不会将任何非数字输入替换为0,所以它仍然不能回答我的需求) – tomersss2
@LifeLess检查演示 – Sajeetharan
演示是伟大的,非常感谢很多人,这是非常有益的 – tomersss2