2012-04-24 9 views
17

Ho bisogno di cambiare i nomi dei mesi dai nomi brevi ai nomi lunghi nel mio datapicker dell'interfaccia utente jQuery.jQuery UI datepicker: come modificare i nomi dei mesi nell'elenco a discesa dai nomi brevi ai nomi lunghi?

mie proprietà sono:

$.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); 
    } 
}); 

Al momento il calendario mostra solo i nomi breve mese come "Aprile" invece di "aprile" nell'elenco a discesa.

Forse sto sovrascrivendo i nomi lunghi predefiniti con una parte di codice?

Per favore aiuto.

risposta

30

Utilizzare la proprietà monthNamesShort e attribuirlo ai nomi desiderati.

Nel mio caso, ho voluto mostrare, nel mese discesa, il nome lungo mese, in portoghese:

monthNamesShort: [ "Janeiro", "Fevereiro", "Março", "Abril", 
        "Maio", "Junho", "Julho", "Agosto", "Setembro", 
        "Outubro", "Novembro", "Dezembro" ] 
+3

Questa risposta dovrebbe essere la risposta accettata. –

+0

Ho fatto lo stesso in russo. –

+0

Come impostarlo globalmente? –

0

In molti luoghi che utilizzano il dateFormat per determinare quale lista da usare. Sfortunatamente in questo blocco di codice non erano coerenti nell'usarlo. Feci un adeguamento seguire il loro metodo _generateMonthYearHeader (intorno alla linea 8985):

sostituire

monthNamesShort[ month ] 

con

(inst.settings.dateFormat.match(/MM/) ? monthNames : monthNamesShort)[ month ]