zwei-stelliges Jahr auf datepicker
Wie ist das möglich, wählen Sie eine zweistellige Jahr im ui-datepicker? Wenn ich versuche, wählen Sie 24 Jahre oder 79 Jahr gibt Es 1924 oder 1979. Wie kann ich wählen Sie die zweistellige richtig?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Datum format-argument:
.datepicker({ dateFormat: 'dd-mm-y' })
(2-stellige yeay = y, passen rest von dem format, das Ihrem Bedarf)
Den Datepicker plugin hat eine spezielle option für solche Fälle - shortYearCutoff:
Der Vorgabewert ist '+10' (zehn Jahre von der aktuellen, also in 2012, '22' gefüllt wird umgewandelt in '2022', sondern auch '23' endet '1923').
Können Sie liefern 99 (max-Wert), bei der Initialisierung Ihrer datepicker, wie diese:
... alle, die die zwei-Jahren gehören zu den aktuellen Jahrhunderts.
Datepicker ist nicht sehr intuitiv in diesem Fall.
Versuchen Sie in dieser Dokumentation:
http://api.jqueryui.com/1.8/datepicker/#option-dateFormat
Gesetzt den Jahr-Teil des Datums-format umgewandelt werden, nur statt y yy
http://docs.jquery.com/UI/Datepicker/formatDate
Hinzufügen der shortYearCutoff option nicht irgendetwas tun, wenn der picker-Fenster ist nur aktiviert über Taste (showOn: 'button'), die ein Benutzer manuell eingibt ein date mit einem 2-stelligen Jahr, und ein 4-stelliges Jahr gewünscht.
Landete ich anfügen, mein eigenes change-Ereignis, um das Eingabefeld zu behandeln, Datum-Formatierung, Beispiel-code gezeigt unten.
Es sollte auch angemerkt werden, dass die jquery-Validierung verwendet wird und konfiguriert die form, dass dieser Eingang befindet. Die Validierung der Einstellungen auf der datepicker-input konfiguriert sind, erzwingen ein date-Wert. datepicker:{date: true} Dies, kombiniert mit dem datepicker dateFormat-Einstellung konfiguriert als "mm/dd/yy" sicherstellen, dass die benutzerdefinierte onchange-Ereignis code-handling zuverlässig arbeiten.
//datepicker
$( "#datepicker" ).attr("placeholder", "mm/dd/yyyy").change(function(){
//get the date value from the input field
var d = $(this).val();
//get the last 4 characters of the date value entered
var last4 = d.substr(-4);
//determine if the last 4 characters contain the character: /
if(last4.indexOf('/') > -1){
//yes there is a /character which means a two digit year was provided
//store the last two digits from the input string
var last2 = ((d.substr(-2))*1);
//remove the last two digits from the input string
d = d.slice(0,(d.length-2));
//prepend a 19 or 20 to the two digit year given based on a cutOff of 30
if(last2<=30){
d = d+'20'+last2;
}else{
d = d+'19'+last2;
}
}
//store/display the properly formated date
d = $.datepicker.parseDate('mm/dd/yy', d);
$(this).datepicker('setDate', d);
}).datepicker({
dateFormat: "mm/dd/yy",
shortYearCutoff: 30,
buttonImage: 'images/calendar_icon.png',
showOn: 'button'
});
funktioniert nicht mit den 2 Ziffern aus dem Jahr 2000, wie '09' wird, '9', dann das Jahr eingetragen wird '209'
dieser code verarbeitet :
Geänderten code oben, um im Grunde Skala basierend auf dem aktuellen Datum zu verwenden, das Jahr, die am nächsten zu der aktuellen Jahres-und Griff-1 digit Jahren und ignorieren, 3 Ziffern für das Jahr:
Setzen, dass in Ihrem datepicker-Initialisierung
y