2016-07-29 22 views
0

Also muss ich das Datum min des Datums auf +2 Tage von heute, anstelle von einem Tag ändern. Allerdings muss ich es bei sagen, speziell 4 Uhr pro Tag ändern. Das Skript wird alle 10 Sekunden ausgeführt. Das Szenario sollte also ungefähr so ​​aussehen. 15:59:50, min Datum, das gewählt werden kann, ist morgen, 16:00:00 das min Datum, das gewählt werden kann, ist übermorgen.JQuery datepicker min Datum nicht ändern bei Verwendung von JavaScript setInterval()

Hier ist mein Code:

var date1 = new Date(); 
        date1.setHours(16,00,0,0); 

     $(".datepicker").datepicker({dateFormat: 'yy-mm-dd', minDate:1}); 

      window.setInterval(function(){ 
       var now = new Date(); 
       if(now.getTime() >= date1.getTime()){ 
       alert("Greater or equal to"); 
       $(".datepicker").datepicker({dateFormat: 'yy-mm-dd', minDate:2}); 
       } 
      }, 10000); 

Also, wenn die aktuelle Zeit 16.00.00 tatsächlich größer oder gleich ist, beginnt der Alarm alle 10 Sekunden um zu zeigen, aber die picker min Datum nicht der Fall ist Veränderung. Wenn ich die Seite aktualisiere, ändert sich das Mindestdatum auf +2 Tage ab heute. Kann mir bitte jemand erklären, warum das passiert?

Antwort

1

versuchen, diese Methode anstelle

$('.datepicker').datepicker('option', 'minDate', 2); 
+0

Es funktionierte, danke! Weißt du, warum es nicht funktioniert hat? –

+0

great, happy to help – stackoverfloweth

+0

"* Weißt du warum es nicht funktionierte? *" - Wenn du 'datepicker ({options})' 'anrufst, erstellt es einen neuen Datums-Picker, aber beim zweiten Aufruf gibt es schon einen Datepicker also nichts es zu erstellen - es wird nicht mit '{options}' aktualisiert. Sie müssen die Syntax in dieser Antwort verwenden, um Optionen für einen bereits vorhandenen Datapicker festzulegen. –