2017-01-26 3 views
1

Ich habe ein Problem mit dem Dateformat in einem Formular mit Datepicker.datepicker, minDate, maxDate + dateformat Ausgabe

In meiner Form, ich habe 2 Datumsfelder -> Startdatum und Enddatum.

Ich möchte Datum < Enddatum starten. Also verwende ich die Parameter minDate und maxDate.

Ich mag auch das Datum "dd-mm-yy" erscheinen. Aber dann verwirrt es mit dem minDate und maxDate.

Zum Beispiel, wenn ich StartDate = 3. Januar 2017 (03-01-2017) setze, kann ich das EndDate nicht vor dem 2. März (02-03-2017) einstellen, weil ich denke, es liest das Datum ein die falsche Reihenfolge. (03-01-2017 = 1. März 2017).

Wie kann ich das beheben?

Hier ist mein Code:

$(document).ready(function() { 
    $("#startdate").datepicker({ 
    dateFormat: 'dd-mm-yy', 
    onSelect: function(selected) { 
     var dt = new Date(selected); 
     dt.setDate(dt.getDate() + 1); 
     $("#enddate").datepicker("option", "minDate", dt); 
    } 
    }); 
    $("#enddate").datepicker({ 
    dateFormat: 'dd-mm-yy', 
    onSelect: function(selected) { 
     var dt = new Date(selected); 
     dt.setDate(dt.getDate() - 1); 
     $("#startdate").datepicker("option", "maxDate", dt); 
    } 
    }); 
}); 

https://jsfiddle.net/Lmxuyjs8/1/

Vielen Dank

Antwort

1

Eine andere Lösung

$(document).ready(function() { 
$.datepicker.setDefaults({ 
     dateFormat: 'dd-mm-yy', 
    }); 
    $('#startdate').datepicker({ 
      onSelect: function(selectedDate) { 
       $('#enddate').datepicker('option', 'minDate', selectedDate); 
      } 
    }); 
    $('#enddate').datepicker({ 
      onSelect: function(selectedDate) { 
       $('#startdate').datepicker('option', 'maxDate', selectedDate); 
      } 
    }); 

}); 

Fork fiddle link

+0

Es funktioniert perfekt! Vielen Dank! –

1

Ich denke, man
Datumsformat verwenden: 'dd-MM-JJ'

+0

Danke, aber Wenn ich MM statt mm, dann erlaubt es mir ein „enddate“ kleiner als das „startdate“ zu setzen ..., die entweder nicht gut ist. –

Verwandte Themen