2016-07-29 10 views
0

Ich habe hier verschiedene Fragen gesehen, aber sie sind von ng-checked, die für mich nicht relevant sind, denke ich. Ich habe ein ziemlich einfaches Problem. Hier ist mein HTML.Wie man eine Funktion ausführt, wenn ein Kontrollkästchen in angularjs aktiviert und deaktiviert ist?

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

Ich bin mir nicht sicher, wie man die Funktion in eckig einpackt, wenn es überprüft wird. Grundsätzlich sollte es so sein.

if(checked){ 
//do this 
} 
else{ 
//do that 
} 

Antwort

0

Verwenden ngModel den Wert Zwei Weise zu binden.

Während ngChange ist optional.

finden Sie in der Dokumentation hier: https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D

finden Sie die Arbeits Demo unter

<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

Verwendung ngModel und ngChange

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

//in controller 
$scope.foo = false; 
$scope.fooChanged = function(){ 
    if($scope.foo){ 
     ... 
    }else{ 
     ... 
    } 
} 
+0

@Ajiaz, Sie sind willkommen, können Sie es als Antwort markieren? – MarkoCen

Verwandte Themen