我想使用jQuery datepicker仅用于解析和格式化日期,但在我的实际页面上,我不想实现任何datepicker。
现在,我设置了datepicker默认值,例如
$.datepicker.setDefaults($.datepicker.regional["de-DE"]);
现在我的问题是,如何在不使用任何datepicker对象的情况下读取此默认日期格式? 思考类似......
$.datepicker.getDefaults('dateFormat');
...给我回复字符串“dd.MM.yyyy” - 可能吗?
答案 0 :(得分:3)
当前默认值存储在$.datepicker._defaults
中,至少在JQuery UI 1.11中。当然,由于这是一个未记录的内部变量,因此可能会发生变化。
或者,存储一个包含区域值的单独变量region
。当您致电setDefaults
时,也请存储region
:
var region="de-DE";
$.datepicker.setDefaults($.datepicker.regional[region]);
然后,您可以使用$.datepicker.regional[region].dateFormat
等查询值
答案 1 :(得分:1)
我真的不认为这是一个很好的答案,但这是我找到解决问题的方法。 我正在将当前(默认)区域设置复制到另一个索引 - [“local”],并在我需要的任何地方使用它。
如果有人有更好的方法,请随时发布答案。
页面加载:
$(function () {
// Default locale = en-GB
$.datepicker.setDefaults($.datepicker.regional["en-GB"]);
// Copying to a new index = local
$.datepicker.regional["local"] = $.datepicker.regional["en-GB"];
});
当我需要参考任何设置时:
var month = $.datepicker.regional["local"].monthNames[myMonth];
或强>
var month = $.datepicker.regional.local.monthNames[myMonth];
答案 2 :(得分:0)
嗨,你可以这样得到它。
$('#datepicker').datepicker({
beforeShowDay : function( date ) {
var monthsArr = $(this).datepicker('option', 'monthNamesShort');
console.log( monthsArr );
}
});