2017-02-23 8 views
0

Довольно просто не слишком уверенно, как его кодировать, у меня есть поле ввода, которое устанавливает значение, оно затем отправляет значение для обработки, В настоящее время я хочу, чтобы значение по умолчанию равнялось 0 в поле ввода, если он в настоящее время не присвоено значение, то есть 10.Угловое ng-if для определения значения входного числа

<div class="row"> 
    <div class="col-sm-8"> 
    <label for="totalStaff" style="padding-bottom: 10px; width: 150px;">Number of Staff</label> 
    <button class="form-button" ng-click="staff.staffTotal = staff.staffTotal - 1" ng-disabled="staff.staffTotal === 0">-</button> 
    <input class="form-control max-width" type="number" id="totalStaff" name="totalStaff" min="0" 
    ng-model="staff.staffTotal" 
    ng-blur="myform.totalStaff.$touched=true" 
    ng-required="true" 
    ng-class="{'input-error': myform.totalStaff.$touched && myform.totalStaff.$error.required}" 
    ng-if="isEmpty" 
    /> 
    <button class="form-button" ng-click="staff.staffTotal = staff.staffTotal + 1">+</button> 
    </div> 
</div> 

контроллер функции IsEmpty

$scope.isEmpty = function(number) {   
     return (number == undefined || number == null || number == ""); 
    }; 

Таким образом, на данном этапе это все делает, но либо присвоить значение 0, или значение пользователя. Я хочу, чтобы значения по умолчанию равны 0, поскольку они не являются обязательными, но форма не позволяет представления с пустыми полями ввода.

+0

Почему вы не можете просто присвойте модели значение по умолчанию 0? – ChiefTwoPencils

ответ

1

в инициализации рамки, установите staff.staffTotal равным 0. т.е.

$scope.staff.staffTotal = 0; 
$scope.isEmpty = function() { 
    return $scope.staff.staffTotal == 0; 
} 
0

Я думаю Угловая путь будет то, что вы инициализировать staff.staffTotal как 0 где-то в вашем контроллере.

В противном случае я бы просто пойти с добавлением значения = "0"

0

Попробуйте

в изменении HTML ng-if в ng-if="isEmpty(staff.staffTotal)"

контроллер

$scope.isEmpty = function(number) { 
     if(number == 10){// you can change it however you want 
      $scope.staff.staffTotal == 0; 
      return true; 

      }else{ 
      $scope.staff.staffTotal == number; 
      return true; 
      } 
}; 
Смежные вопросы