我有一个输入类型编号。如果ng-model为null或为空或未定义,我想设置默认值1。它工作正常。 但是在同一页面上,我有一个提交按钮。点击这个按钮,我只是返回false,因为某些验证失败了。但是当它在验证失败后返回时。我的下拉列表(输入类型编号)显示空值。我检查了ng-model的值,它是空的。
因此,如果该值不是正确的数字,我希望它默认设置为1.
<input type="number" step="1" min="1" onkeypress="return (event.charCode == 8 || event.charCode == 0) ? '': event.charCode >= 48 && event.charCode <= 57" id="train_n_file"
ng-init="item.n_fold = item.n_fold || 1" ng-model="item.n_fold" ng-disabled="item.train_select=='training_time_range'" style="margin-top: -2px;" class="input-div" value="colorscheme blue
">
<md-button ng-click="schedule_event()" type=submit id="step-btn" class="build-model md-raised step-btn md-primary md-button md-ink-ripple"> Schedule </md-button>
$scope.schedule_event = function () {
if (some condition) {
$scope.showAlert('Please pick schedule frequency.');
return false;
}
答案 0 :(得分:0)
编辑:
这样就可以了。 ng-init用于初始化ng-model的值。
var app = angular.module('myApp', []);
app.controller('inputCtrl', ['$scope', function($scope) {
$scope.item = undefined;
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<title>plnkr</title>
<body ng-app="myApp">
<div class="row">
<div ng-controller="inputCtrl">
<input type="number" step="1" min="1" ng-model="item" ng-init="item = 10" />
</div>
</div>
<script src="inputCtrl.js"></script>
</body>
</html>