jQuery Datepicker - 如何获取/读取默认设置

时间:2013-05-15 09:02:05

标签: jquery default jquery-ui-datepicker

我想使用jQuery datepicker仅用于解析和格式化日期,但在我的实际页面上,我不想实现任何datepicker。

现在,我设置了datepicker默认值,例如

$.datepicker.setDefaults($.datepicker.regional["de-DE"]);

现在我的问题是,如何在不使用任何datepicker对象的情况下读取此默认日期格式? 思考类似......

$.datepicker.getDefaults('dateFormat');

...给我回复字符串“dd.MM.yyyy” - 可能吗?

3 个答案:

答案 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 );
        }
});