2016-04-14 21 views
1

Ich versuche Text auf der Seite in einem <h1> Tag zu drucken, je nachdem, ob ein Kontrollkästchen aktiviert ist oder nicht.AngularJS Drucken von Text, wenn das Kontrollkästchen aktiviert ist

$scope.EmailMe = function(email) { 
    if($scope.emailchecked == 1) { 
     $scope.test = "emailSent"; 
    } else { 
     $scope.test = "nothing"; 
    } 
    } 

HTML ist:

 <input type="checkbox" ng-model="emailchecked" ng-change="EmailMe(1)"> 
     <h1> @{{test}} </h1> 

Ich habe den Textdruck aber das Kontrollkästchen nicht aktiviert wird. oder Änderung ermöglicht bitte :)

+1

Willst du '0' &' 1' Wert in der Checkbox haben? –

+0

@NishanthMatha das Kontrollkästchen kann jetzt überprüft werden :). Aber leider druckt der Text nicht mehr. Ich weiß, dass mein Code unordentlich neu ist, gibt es einen besseren Ansatz, um zu überprüfen, ob etwas überprüft wird? – seus

+0

@PankajParkar Ich weiß, dass kann fehlen, aber ich bin mir nicht sicher, wie es dort sein sollte – seus

Antwort

1

Verwenden ng-true-value & ng-false-value, helfen, damit werden Sie 1/0 Wert basierend auf Auswahl.

<input type="checkbox" ng-model="emailchecked" 
    ng-true-value="1" 
    ng-false-value="0" 
    ng-change="EmailMe(emailchecked)"> 

Demo Plunkr

Auch wenn Sie verwenden ng-true-value nicht, aber das würde Sie Modellwert zu 0/1 nicht gehalten. Standardmäßig ist der Wert des Kontrollkästchens wahr/falsch.

+1

Vielen Dank, + 1 für die Lehre mich eingebaute angularJS Funktion, die ich nicht kannte – seus

1

HTML

<body ng-controller="MainCtrl"> 
    <input type="checkbox" ng-model="emailchecked" ng-change="EmailMe()"> 
    <h1> @{{test}} </h1> 
    </body> 

-Controller

var app = angular.module('plunker', []); 

app.controller('MainCtrl', function($scope) { 
    $scope.name = 'World'; 
    $scope.EmailMe = function() { 
    if($scope.emailchecked == 1) { 
     $scope.test = "emailSent"; 
    } else { 
     $scope.test = "nothing"; 
    } 

    }; 

}); 

http://plnkr.co/edit/EfIMMn7Be7QL258aUiXW

und in Ihrem Code Sie die emailchecked ändern, die nicht erforderlich ist.

0

Sie müssen ändern, wenn (E-Mail = 1) zu If (E-Mail == 1). Eine gleiche fehlt

Verwandte Themen