jQuery日期选择器 - 如何显示今天的月份而不是所选日期?

3

我一直在寻找答案,包括jQuery的datepicker API网站,但似乎找不到合适的答案。

这是我想要实现的功能。当文本字段被点击并且日期选择器弹出时,我希望日历显示当前月份,而不是默认为以前选择的任何日期。

我仍然希望能够在月份上选择下一个和上一个。因此,设置minDate不是一个选项。

例如,用户先前选择了03/03/2013。然后用户再次单击文本框,弹出日期选择器,显示的月份是今天的月份,而不是三月份。但是,03/03/2013仍然被选中。

谢谢!

代码非常基础...

$(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" />

那你的代码在哪里?把它发到这里。 - Hiren
感谢您的回复。代码已添加。 - Dom
2个回答

2
您可以使用$.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);
});

这是一个与上述内容相关的示例: http://jsfiddle.net/4vskg74t/

绝对精彩!正是我想要的。非常感谢。 - Dom

0
一种方法是:
$(document).ready(function(){

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

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

});

这将会丢失当前的值。 - Dave Salomon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接