jQuery DatePicker - 如何显示今天的月份而不是选定的日期?

jQuery DatePicker - How do I show today's month instead of the selected dated?

所以我一直在到处寻找答案。包括 jQuery 的日期选择器 API 网站,我似乎找不到合适的答案。

这就是我希望发生的事情。当按下文本字段并弹出日期选择器时,我希望日历月显示本月,而不是默认为任何以前 selected 的日期。

我仍然希望能够 select 上个月和下个月。所以设置 minDate 不是一个选项。

因此,例如,用户之前 selected 03/03/2013。然后用户点击文本框,再次弹出日期选择器,显示的月份是今天的月份而不是三月。然而,03/03/2013 仍然是 selected.

谢谢!

代码非常普通...

$(document).ready(function () {
$(".datePickerShowToday").datepicker({
            dateFormat: 'dd/mm/yy',
            buttonText: 'Click here to select a date',
            onSelect: function () {

            }
        });
});

HTML代码:

<input type="text" id="NotificationDate" class="datePickerShowToday" />

一种方法:

$(document).ready(function(){

    $('.datePickerShowToday').datepicker();   

    $(".datePickerShowToday").click(function(){   
        $('.datePickerShowToday').datepicker('setDate', null);
    });

});

您可以使用 $.datepicker._gotoToday 函数执行此操作 [这是日期选择器用于 Ctrl + Home] 的功能。但是,该小部件不提供 open 事件(它具有 beforeShow 但这在您的情况下不起作用,因为它仅在绘制小部件之前运行)。您可以通过在输入字段上使用 .focus 并一次只绑定一个处理程序来模拟这一点(因为保持对日期选择器本身的关注也会触发 focus):

$( ".datePickerShowToday" ).datepicker({
    onClose: function() {
        $( ".datePickerShowToday" ).one("focus", function() {
            $.datepicker._gotoToday(this);
        });
    }
});
$( ".datePickerShowToday" ).one("focus", function() {
    $.datepicker._gotoToday(this);
});

这是一个 fiddle 以上内容:http://jsfiddle.net/4vskg74t/