Javascript 有没有办法让jQuery datepicker在没有年份的情况下工作?

Javascript 有没有办法让jQuery datepicker在没有年份的情况下工作?,javascript,jquery,jquery-ui,date,datepicker,Javascript,Jquery,Jquery Ui,Date,Datepicker,我想使用日期选择器作为“历史上的这一天”项目的一部分 这个想法是让用户选择一天,比如“11月20日”,然后这个项目向他展示不同年份在这一天发生的历史事件 考虑到他们选择的是一个普通的日子,而不是一个特定的日期(比如“2013年11月20日”),我希望日期选择器是不确定年份的 类似的事情,但他们想办法隐藏这一年 我不想隐瞒这一年。我希望选取者忽略这一年 不应该有日期标签(“星期一”、“星期二”等),也不应该在第一周开始时有空白日期。就2月份而言,它将列出29天 所以,不是像这样的事情 NOVEMB

我想使用日期选择器作为“历史上的这一天”项目的一部分

这个想法是让用户选择一天,比如“11月20日”,然后这个项目向他展示不同年份在这一天发生的历史事件

考虑到他们选择的是一个普通的日子,而不是一个特定的日期(比如“2013年11月20日”),我希望日期选择器是不确定年份的

类似的事情,但他们想办法隐藏这一年

我不想隐瞒这一年。我希望选取者忽略这一年

不应该有日期标签(“星期一”、“星期二”等),也不应该在第一周开始时有空白日期。就2月份而言,它将列出29天

所以,不是像这样的事情

NOVEMBER
Mo  Tu  We  Th  Fr  Sa  Su
--  --  --  1   2   3   4
5   6   7   8   9   10  11
12  13  14  15  16  17  18
…会是这样的

NOVEMBER
1   2   3   4   5   6   7
8   9   10  11  12  13  14
15  16  17  18  19  20  21

有没有办法修改jQueryUI的datepicker使其像这样工作?或者另一个库为他们的日期选择器提供了一个少一年的选项?

您可以通过覆盖Date.prototype.getDay()方法来实现这一点:

JS:

CSS(在日期选择器中隐藏年份和日期):


“有没有办法修改jQuery UI的日期选择器使其像这样工作”可能是这样的,但这需要修改/扩展小部件的私有方法。这种功能不是内置的。这听起来像是构建自己的jQuery UI要比扩展jQuery UI快,因为您的需求非常简单。需要一年来确定一个特定日期在一周中的哪一天。您可能只需要构建一个静态日历并更改月份名称。Datepicker对于您的场景来说可能有点过头了。这确实有效,但可能会给其他脚本带来严重问题。最好将此更改本地化为jQueryUI的输出。@Mathletics我同意,这可能会导致一些问题。如果您不知道有人去了某个地方并将其卡在了代码中,那么它也可能会导致一些问题,这对于调试来说是非常可怕的。
$(function() {
    //override getDay()
    Date.prototype.getDay = function() {
        //change getDay() so that the first day of the month is always at 
        // the beginning of the week
        return ((this.getDate()-1) % 7);
    }

    //create the datepicker that does not display year
    $( "#datepicker" ).datepicker({dateFormat: "d MM"});
});
.ui-datepicker-year, .ui-datepicker-calendar thead {
    display: none;
}