2016-07-01 21 views
1

Mein Geburtsdatumsfeld wurde von JQuery mit Hilfe der Datepickerfunktion erstellt, dann wird die erforderliche Feldvalidierung von AngularJS mit Hilfe von ng-show gehandhabt, wenn ich das Formular übergebe, gibt es eine Fehlerbehandlung, aber wenn ich Datum im Feld wähle Fehlermeldung wird nicht entfernt.Angular JS und JQuery datepicker

<input type="text name="birthdate" id="datepicker" ng-model="birthdate" readonly required > 
    <span id="errordate" ng-show="submitted && form.birthdate.$error.required">*required</span><br> 

<script> 
      $function(){ 
      $('#datepicker').datepicker(); 
     }); 
</script> 

Here is the form look at the birthdate field Bitte helfen Sie mir, Ihnen danken.

+0

Gibt es eine Frage? – Jai

+0

Meine Frage Sir ist die Fehlermeldung in Geburtsdatum Feld wird nicht entfernt, wenn ich ein Datum auswählen. – Royce

+0

Bitte werfen Sie einen Blick auf meine Antwort. Ich habe einen Code-Schnipsel für UI Bootstrap –

Antwort

0

Wenn jQuery Datepicker Änderung <input> anzuwenden, AngularJS nicht weiß, diese Änderung, Sie $scope.$apply() rufen müssen AngularJS überprüfen und anwenden neue Änderungen vorzunehmen. Aber ich denke, Sie sollten $timeout verwenden, um diese Änderung anzuwenden und AngularJS inprog Fehler zu vermeiden, weitere Informationen here.

Hier ist meine ONLINE DEMO. Ich hoffe das hilft!

2

JQuery und angular sind paradigmatically differents.

Wenn Sie eine jQuery wie Abfrage-Selektor möchten. Bitte verwenden Sie die built in jQuery von eckigen.

Für die Datumsauswahl sollten Sie Ui-bootstrap. verwenden. Es ist 100% winkelkompatibel. Sie werden diese Fehler nicht sehen.

Werfen Sie einen Blick auf diese Schnipsel mit ui-Bootstrap here.

Falls Sie NotwendigkeitjQuery zu verwenden. Jeder Moment, den Sie jedes Attribut Chance, dass Winkel sind „beobachten“ müssen Sie die Winkel der mit verdauen aktualisieren:

$scope.$apply() 

Wo alle $scope Attribute die Werte aktualisiert.

Allerdings empfehle ich Ihnen dringend, nie $apply() nie zu verwenden. I schlagen Sie vor, jQuery nicht auch zu verwenden.

+0

Ich danke Ihnen jetzt verstehe ich. :) – Royce

+0

Bitte als richtige Antwort markieren. @ Royce –