jQuery UI DatePicker - Disable all days except last day of month

前端 未结 2 1146
栀梦
栀梦 2021-02-14 03:17

I\'m trying to use the jquery UI datepicker to show a calendar with only the last day of the month selectable.

I\'ve successfully used the beforeShowDay event to disabl

相关标签:
2条回答
  • 2021-02-14 03:46
    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(); 
    } 
    

    This will work

    0 讨论(0)
  • 2021-02-14 03:52

    beforeShowDay is called for every date shown on the calender. When beforeShowDay is called, you need to determine if the date passed to it is the last day of the month.

    The following JScript will return the last day of the month for a given year and month.

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

    Use the following code to determine if the beforeShowDay's date is the last of the month:

    $('.selector').datepicker({
        beforeShowDay: function (date) {
            //getDate() returns the day (0-31)
            if (date.getDate() == LastDayOfMonth(date.getFullYear(),date.getMonth())) {
                return [true, ''];
            }
            return [false, ''];
        }
    });
    
    0 讨论(0)
提交回复
热议问题