如何使用Angularjs为输入类型编号分配空值?

时间:2017-06-14 20:36:15

标签: javascript angularjs

我有一个输入类型编号。如果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;
  }

1 个答案:

答案 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>