Je dois changer les noms de mois de noms courts en noms longs dans mon datepicker de l'interface utilisateur jQuery.
Mes propriétés sont:
$.datepicker.regional['de'] = {
prevText: '<zurück',
nextText: 'vor>',
monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni',
'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
monthNamesShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun',
'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
weekHeader: 'Wo',
dateFormat: 'dd.mm.yy',
firstDay: 1,
changeMonth: true,
changeYear: true,
yearRange: "-0:+2",
isRTL: false,
showMonthAfterYear: false,
minDate: 0
};
$.datepicker.setDefaults($.datepicker.regional['de']);
var dates = $("#von, #bis").datepicker({
showOn: "button",
buttonImage: "calendar.png",
buttonImageOnly: true,
buttonText: 'Datum w\u00E4hlen',
onSelect: function (selectedDate) {
var option = this.id == "#von" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
Pour le moment, le calendrier affiche uniquement les noms de mois abrégés tels que "Avril" au lieu de "Avril" dans la liste déroulante.
Peut-être que j'écrase les noms longs par défaut avec un morceau de code?
S'il vous plaît aider.
Utilisez la propriété monthNamesShort
et attribuez-lui les noms souhaités.
Dans mon cas, je voulais montrer, dans la liste déroulante du mois, le nom long du mois en portugais:
monthNamesShort: [ "Janeiro", "Fevereiro", "Março", "Abril",
"Maio", "Junho", "Julho", "Agosto", "Setembro",
"Outubro", "Novembro", "Dezembro" ]
Ce n'est pas possible pour le moment. Voir https://github.com/jquery/jquery-ui/pull/590 pour plus de détails.
Ils utilisent souvent dateFormat pour déterminer la liste à utiliser. Malheureusement, dans ce bloc de code, ils ne l’utilisaient pas systématiquement. J'ai fait un ajustement pour suivre leur méthode dans _generateMonthYearHeader (autour de la ligne 8985):
remplacer
monthNamesShort[ month ]
avec
(inst.settings.dateFormat.match(/MM/) ? monthNames : monthNamesShort)[ month ]