2012-06-21 71 views
1

我正在ASP.net Webform应用程序,我需要阻止某些日期和周末作为周五&周六。周五和周四禁用周日Jquery DatePicker

以下代码可以正常工作,但会封锁日期,但是默认封锁星期六&星期天作为周末,而我需要封锁所有星期五&星期六的日历。

我希望能解决这个问题。我不确定是否jQuery Calendar具有指定不同周末的内置属性

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, '']; 
    } 


}); 

回答

2

您是否无权访问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), '']; 
} 

看起来相当不错不可定制的,但比较容易重新实现作为自己的功能。

+0

欣赏你的回复,我不想编辑主要的源文件,因为我想要通过脚本来做到这一点在问题中提到..我究竟应该如何使用部分代码示例jsfiddle http:///jsfiddle.net/Pt2Mr/404/ – Learning

+0

@KnowledgeSeeker - 只需在你的'setHolidays'函数的顶部放置类似的代码:[jsfiddle](http://jsfiddle.net/Nakqq/1/) –

相关问题