禁用周末作为周五和周四的Jquery DatePicker。



我正在开发 ASP.net Webform应用程序,我需要阻止某些日期和周末作为星期五和星期六。

以下代码工作正常,它阻止日期,但默认情况下将周六和周日设置为周末,而我需要阻止日历上的所有周五和周六。

我将不胜感激修复此特定代码。我不确定jQuery日历是否有内置属性来指定不同的周末

var holiDays = [[2012, 07, 06, 'New Years Day'], [2012, 07, 14, 'Event XYZ'], [2011, 17, 25, 'Christmas Day']];
$(function () {
    $("#<%=txtBookDate.ClientID %>").datepicker({
        dateFormat: "yy-mm-dd",
        minDate: "-0d",
        maxDate: "+60d",
        beforeShowDay: noWeekendsOrHolidaysOrBlockedDates
    });
    function noWeekendsOrHolidaysOrBlockedDates(date) {
        var noWeekend = jQuery.datepicker.noWeekends(date);
        return noWeekend[0] ? setHoliDays(date) : noWeekend;
    }
    // set holidays function which is configured in beforeShowDay
    function setHoliDays(date) {
        for (i = 0; i < holiDays.length; i++) {
            if (date.getFullYear() == holiDays[i][0]
  && date.getMonth() == holiDays[i][1] - 1
  && date.getDate() == holiDays[i][2]) {
                return [false, 'holiday', holiDays[i][3]];
            }
        }
        return [true, ''];
    }

});

你无权访问 jQuery UI 源代码吗?奇怪,因为它是javascript,通常免费提供:

/* Set as beforeShowDay function to prevent selection of weekends.
   @param  date  Date - the date to customise
   @return [boolean, string] - is this date selectable?, what is its CSS class? */
noWeekends: function(date) {
    var day = date.getDay();
    return [(day > 0 && day < 6), ''];
}

看起来非常好,不可自定义,但相对容易作为您自己的函数重新实现。

最新更新