Eingabe löschen wenn die checkbox aktiviert ist
Ich habe eine checkbox und zwei input-Felder. Entweder das Kontrollkästchen muss aktiviert sein, oder die beiden Eingabefelder müssen ausgefüllt werden. Ich mache die Validierung mit Winkel-d.h. ng-show, ng-erforderlich.
Wenn die checkbox aktiviert die beiden Eingabefelder sind deaktiviert, d.h. ng-disabled="$parent.vm.selectAllDates".
Ich jetzt auch haben, löschen Sie alle Daten, die eventuell eingegeben wurden, in die Textfelder.
Ist das Kontrollkästchen nicht aktiviert beim laden der Seite. Es liegt in der Steuerung wie diese: vm.selectAllDates = false;
Gibt es eine Möglichkeit, die Eingabefelder leeren, wenn das Kontrollkästchen aktiviert ist, in Eckige?
BEARBEITEN
Ich habe Hinzugefügt, was ich versucht habe zu tun mit Ihrem Beispiel
Kontrollkästchen:
<input name="dateSelectAll" type="checkbox"
ng-model="$parent.vm.selectAllDates"
ng-required="vm.selectedReport.Parameters.StartDate == null && vm.selectedReport.Parameters.EndDate == null" />All Available Dates
Startdatum Eingabe:
<input name="beginningDate" type="text" class="form-control form-field" datepicker-popup="dd-MMM-yyyy"
ng-disabled="$parent.vm.selectAllDates"
ng-model="$parent.vm.selectedReport.Parameters.StartDate"
is-open="beginningDateOpened"
ng-required="$parent.vm.selectAllDates == false"
ng-change="$parent.vm.selectedReport.Parameters.StartDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.StartDate"
close-text="Close" />
Enddatum:
<input name="endDate" type="text" class="form-control form-field" datepicker-popup="dd-MMM-yyyy"
ng-disabled="$parent.vm.selectAllDates"
ng-model="$parent.vm.selectedReport.Parameters.EndDate"
is-open="endDateOpened" ng-change="$parent.vm.selectedReport.Parameters.EndDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.EndDate"
ng-required="$parent.vm.selectAllDates == false && $parent.vm.selectedReport.Parameters.EndDate == null"
close-text="Close" />
Eine wirklich seltsame Sache war, die ich sehen wollte, was passiert war, also fügte ich
{{$parent.vm.selectedReport.Parameters.StartDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.StartDate}}
nachdem die StartDate-input-Feld. Wenn ich ein Datum gewählt, das Datum wurde Hinzugefügt, um den Eingabe-Bereich als auch unter dem Eingang. Wenn ich klickte das Kontrollkästchen, das Datum wurde entfernt aus dem input-Feld als auch unter dem Eingabefeld. So es hat geklappt! Aber die minute, die ich entfernt den obigen code unter dem Eingabefeld funktioniert es nicht mehr...ich war wie wha?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den einfachen Ansatz, ist die Verwendung
ngChange
Richtlinie über die checkbox und text-input-Modell, um leere Zeichenkette, falls die checkbox aktiviert ist. So etwas wie dieses:Demo: http://plnkr.co/edit/pKGui2LkP487jP0wOfHf?p=preview
Landete ich ausgehend von dem, was Sie zeigte mir, @dfsq. Ich danke Ihnen sehr für Ihre Hilfe!
Ich landete eine Funktion für ng-change und legt es auf das Kontrollkästchen:
Dann in meinem controller habe ich den code Hinzugefügt, um zu deaktivieren start-und end-Datum Eingabe Felder:
Wenn es einen besseren Weg gibt, lasst es mich bitte wissen. Nochmals vielen Dank!