2012-04-24 87 views
17

我需要在我的jQuery UI日期选择器中将短名称中的月份名称更改为长名称jQuery UI datepicker:如何将下拉列表中的月份名称从短名称改为长名称?

我的属性是:

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

目前日历只显示类似的“四月”,而不是“月”,在下拉列表中短月份名称。

也许我用一段代码覆盖默认的长名称?

请帮忙。

回答

30

使用属性monthNamesShort并为其指定所需的名称。

在我的情况,我想表明,在一个月下拉,月长的名字,在葡萄牙语:

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

这个回答应该是被接受的答案。 – 2013-08-21 17:40:56

+0

我在俄罗斯也做过同样的事情。 – 2013-11-29 06:58:59

+0

如何在全球范围内设置? – 2015-05-06 12:45:09

0

在许多地方,他们使用的日期格式,以确定哪些列出使用。不幸的是,在这段代码中,他们并不一致地使用它。我做了调整,按照他们在_generateMonthYearHeader方法(约8985线):

更换

monthNamesShort[ month ] 

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