jQuery UI datepicker:如何将下拉列表中的月份名称从短名称更改为长名称?
Posted
技术标签:
【中文标题】jQuery UI datepicker:如何将下拉列表中的月份名称从短名称更改为长名称?【英文标题】:jQuery UI datepicker: How to change the month names in the drop-down from short to long names? 【发布时间】:2012-05-04 20:56:31 【问题描述】:我需要在我的 jQuery UI 日期选择器中将月份名称从短名称更改为长名称。
我的属性是:
$.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);
);
目前,日历仅在下拉列表中显示短月份名称,例如“Apr”而不是“April”。
也许我用一些代码覆盖了默认的长名称?
请帮忙。
【问题讨论】:
【参考方案1】:使用属性monthNamesShort
并将其命名为您想要的名称。
在我的例子中,我想在月份下拉菜单中用葡萄牙语显示月份名称:
monthNamesShort: [ "Janeiro", "Fevereiro", "Março", "Abril",
"Maio", "Junho", "Julho", "Agosto", "Setembro",
"Outubro", "Novembro", "Dezembro" ]
【讨论】:
我用俄语做了同样的事情。 如何全局设置? @YatinMistry:在脚本开头使用$.datepicker.regional
(就在jquery-ui 导入之后)。【参考方案2】:
目前不可能。详情请见https://github.com/jquery/jquery-ui/pull/590。
【讨论】:
还是不行吗? @MichelAyres 有可能 @DanFromGermany 您可以编辑此答案或使用此信息创建一个新答案吗? @MichelAyres There is already an accepted answer which works. @DanFromGermany 我认为有另一种选择会很棒,因为这是正确的方式,而不是解决方法【参考方案3】:在许多地方,他们使用 dateFormat 来确定要使用的列表。不幸的是,在这段代码中,他们使用它并不一致。我进行了调整以遵循他们在 _generateMonthYearHeader 中的方法(大约第 8985 行):
替换
monthNamesShort[ month ]
与
(inst.settings.dateFormat.match(/MM/) ? monthNames : monthNamesShort)[ month ]
【讨论】:
以上是关于jQuery UI datepicker:如何将下拉列表中的月份名称从短名称更改为长名称?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 npm jquery-ui-datepicker-with-i18n 导入 laravel?
jQuery UI Datepicker - 如何动态禁用特定日期
如何更改 jQuery UI datepicker 的主题?