【问题标题】:jQuery UI DatePicker - Disable all days except last day of monthjQuery UI DatePicker - 禁用除每月最后一天以外的所有日期
【发布时间】:2011-04-12 08:31:47
【问题描述】:

我正在尝试使用 jquery UI datepicker 来显示一个日历,该日历只能选择当月的最后一天。

我已成功使用 beforeShowDay 事件来禁用一周中的几天,但不知道如何使用它来禁用除该月的最后一天之外的所有内容。

【问题讨论】:

    标签: jquery-ui datepicker


    【解决方案1】:

    对于日历上显示的每个日期都会调用beforeShowDay。当调用 beforeShowDay 时,您需要确定传递给它的日期是否是该月的最后一天。

    以下 JScript 将返回给定年月的最后一天。

    function LastDayOfMonth(Year, Month)
    {
        return(new Date((new Date(Year, Month+1,1))-1)).getDate();
    }
    

    使用以下代码确定 beforeShowDay 的日期是否为月末:

    $('.selector').datepicker({
        beforeShowDay: function (date) {
            //getDate() returns the day (0-31)
            if (date.getDate() == LastDayOfMonth(date.getFullYear(),date.getMonth())) {
                return [true, ''];
            }
            return [false, ''];
        }
    });
    

    【讨论】:

    • 对不起,但是行return return [false, '']; - 显示语法错误
    • @MArcin:您可以从该行删除 1 个返回值。
    【解决方案2】:
    function LastDayOfMonth(Year, Month) { 
        //set next month first day
        //substract one day from it.        
        return new Date(new Date(Year, Month+1,1)-1).getDate(); 
    } 
    

    这会起作用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 2018-05-24
      • 1970-01-01
      • 2013-11-09
      相关资源
      最近更新 更多