AngularJS checkbox-Modell-Wert nicht definiert ist
Ich habe ein problem wo ich bin versucht zu posten, den Wert einer checkbox in meinem Modell auf dem server und wie Sie die checkbox wurde nicht in Wechselwirkung mit der auf dem Formular -, Winkel zu haben scheint, nicht zugeordnet es einen Wert, wenn ich Fragen, für die der Wert der checkbox kommt es zurück, als undefined.
Hier ist mein markup:
<div class="form-group">
<input id="templateDisable" type="checkbox" ng-model="template.disabled" />
<label for="templateDisable">Disabled</label>
</div>
Und hier ist eine reduzierte version meiner Aktion speichern auf meinem controller:
$scope.save = function (form) {
if (form.$valid) {
var formData = new FormData();
//this is the problem line of code
formData.append("disabled", $scope.template.disabled);
//... some other stuff
}
};
Eigentlich tickt dann über die Kontrollkästchen, bevor ich auf die Aktion speichern die Ergebnisse in der Vorlage.deaktiviert die Eigenschaft, falsch zu sein, das ist, was ich erwartet hätte, ohne manuelle Eingriffe.
Ich habe gesehen, andere Fragen, z.B. AngularJS: Erste checkbox den Wert nicht im Modell aber sicherlich Sachen wie eine einfache checkbox sollte gebacken werden? Ich sollte nicht schreiben Richtlinien zum verwalten von Checkboxen sicher?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist pro-design. Wenn Sie möchten, dass ein Standardwert für Ihr Modell, als Sie sollten initialisieren Sie Sie in der Steuerung (empfohlen), oder nutzen Sie
ng-init
.Folgenden wird immer der Status wieder auf "nicht aktiviert", wenn die Seite geladen ist (oder aktualisiert). In anderen Worten, es wird ein überschreiben der Benutzer die aktuelle Auswahl, wenn die Seite aktualisiert wird.
Wenn Sie jedoch möchten, dass der Zustand einer checkbox standardmäßig Staat zunächst und Sie wollen auch es zu erinnern, Benutzer-Interaktionen, dann die folgende ist, was Sie wollen.