Как запустить функцию, когда флажок установлен и снят в angularjs?

0

Я видел здесь различные вопросы, но они проверены, что мне не подходит. У меня довольно простая проблема. Вот мой HTML.

<label><input type="checkbox" value="" ng-checked="dothis" id="alcohol">Serves alcohol</label>

Я не уверен, как обернуть функцию в угловой, если ее проверить. В принципе, это должно быть.

if(checked){
//do this
}
else{
//do that
}
Теги:

2 ответа

0
Лучший ответ

Используйте ngModel для привязки значения двумя способами.

Хотя ngChange является необязательным.

Пожалуйста, найдите здесь документацию: https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D

Пожалуйста, найдите рабочую демонстрацию ниже

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script>
  angular.module('checkboxExample', [])
    .controller('ExampleController', ['$scope', function($scope) {
      $scope.checkboxModel = {
       value1 : true,
       value2 : 'YES'
     };
    }]);
</script>
<form ng-app="checkboxExample" name="myForm" ng-controller="ExampleController">
  <label>Value1:
    <input type="checkbox" ng-model="checkboxModel.value1">
  </label><br/>
  <label>Value2:
    <input type="checkbox" ng-model="checkboxModel.value2"
           ng-true-value="'YES'" ng-false-value="'NO'">
   </label><br/>
  <tt>value1 = {{checkboxModel.value1}}</tt><br/>
  <tt>value2 = {{checkboxModel.value2}}</tt><br/>
 </form>
3

используйте ngModel и ngChange

<input type="checkbox" ng-model="foo" ng-change="fooChanged()" />

//in controller
$scope.foo = false;
$scope.fooChanged = function(){
    if($scope.foo){
        ...
    }else{
        ...
    }
}
  • 0
    @ Аджиаз, пожалуйста, не могли бы вы отметить это как ответ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню