2017-12-04 3 views
0

Ich arbeite mit Datepicker jquery für 2 Eingabe "von" und "nach" Filter. Ich möchte es erforderlich machen, wenn einer der Filter (von/bis) ausgewählt wurde. Und wenn der Benutzer den Datumsfilter nicht verwenden möchte, möchte ich das erforderliche Attribut entfernen.datepicker funktioniert nicht beim ersten Laden, jquery

Nachdem ich jedoch ein Datum in meiner "von" Eingabe ausgewählt habe, ist die Aktion beim ersten Senden nicht betroffen. Irgendwie hat der "von" Eingang den Wert von Datepicker beim ersten Laden nicht erkannt.

Wer weiß, warum es beim ersten Senden nicht funktionieren kann?

hier ist der Code für jquery:

$(document).ready(function() { 
    if ($('#to').val().length == 0 && $('#from').val().length == 0) { 
     $('#from').removeAttr('required'); 
     $('#to').removeAttr('required'); 
    } 
    else if ($('#to').val().length > 0) { 
     $('#from').attr('required'); 
    } 
    else if ($('#from').val().length > 0) { 
     $('#to').attr('required'); 
    } 
}); 

für die Eingabe von und zu, ich habe es standardmäßig erforderlich einstellen.

@Html.TextBoxFor(modelitem => Model.startdate, new { @class = "datepicker form-control" ,@placeholder = "Select From Date" , @id="from" , @required = "required" }) 

@Html.TextBoxFor(modelitem => Model.finishdate, new { @class = "datepicker form-control", @placeholder = "Select To Date" , @id = "to" , @required = "required" }) 

Bitte lassen Sie mich das Problem kennen!

+0

erhalten Sie irgendwelche Fehler in der Konsole? hast du kontrolliert ? –

+0

Können Sie dies in einem JsFiddle reproduzieren, damit wir es uns anschauen können? – Marco

Antwort

0

versucht es in der document .ready Funktion zu entfernen, wie

<script> 
    if ($('#to').val().length == 0 && $('#from').val().length == 0) { 
     $('#from').removeAttr('required'); 
     $('#to').removeAttr('required'); 
    } 
    else if ($('#to').val().length > 0) { 
     $('#from').attr('required'); 
    } 
    else if ($('#from').val().length > 0) { 
     $('#to').attr('required'); 
    } 
</script> 

oder -nutzung:

Alert("this is want to know on first run") 

in Ihrer if else Anweisung

Zusatz: rechte Seite klicken => Konsole Menü beim ersten Lauf und überprüfen Sie einige Fehler oder jquery läuft oder nicht.

+0

Wenn ich das Dokument fertig lösche, das erste mal geladen, kann ich es nicht einreichen, da der Standardwert benötigt wird. – Response

Verwandte Themen