2014-07-25 15 views
6

Ich versuche, ein Kontrollkästchen standardmäßig mit einem benutzerdefinierten Wert aktiviert.AngularJS Kontrollkästchen aktiviert benutzerdefinierten Wert

Are you ready? <input type="checkbox" ng-model="checked" ng-init="checked=true" ng-true-value="sure" ng-false-value="nope"><br/> 
<tt> {{checked}}</tt><br/> 

Wenn ich es so eingestellt habe, wird nichts angezeigt, bis ich auf das Feld klicke. Gibt es eine Möglichkeit, wo es überprüft werden kann, wenn ein Standardwert etwas anderes als ein boolescher Wert ist?

Antwort

8

ng-true-value="sure". So ng-init="checked='sure'"

Code Snippet

<input type="checkbox" ng-model="checked" ng-init="checked='sure'" ng-true-value="sure" ng-false-value="nope"> 

Plunkr - http://plnkr.co/edit/ejYSsyIjMZSZua9cQyv1?p=preview

+0

Wow, bin ich für Ihre Antwort sehr dankbar. Stört es Sie zu erklären, warum es die einfachen Anführungszeichen erfordert? Vielen Dank! – Sethe23

+1

@ Sethe23, angularjs wird den Ausdruck ng-init auswerten. Einfaches Anführungszeichen ist JavaScript-Syntax, um Wert zuzuweisen. – hutingung

+0

Ich wusste nicht, dass es bewertet werden würde. Ich hätte das ausprobieren sollen, aber ich konnte keine Dokumentation finden, die mich dazu überreden könnte, es zu versuchen. – Sethe23

Verwandte Themen