【发布时间】:2012-03-12 11:50:47
【问题描述】:
提前感谢您的合作,
我正在使用这个 JQUERY 日期选择器,如下图所示: http://techblog.willshouse.com/wp-content/uploads/2009/06/datepicker.jpg
以及更多信息: 我有一个从 SQL Server 2008 检索数据的 ASP.net 站点。 其中一项管理功能是更改法定假日日期并将其保存在数据库中的假期表中
我的问题是: 如何在日期选择器中禁用这些法定假日,所以我阻止用户选择这些特定日期。
点击此链接:
jQuery UI Datepicker - Disable specific days
但我恐怕不能使用这种解决方式,因为官方假期不能以数组的形式列出,因为它们会被网站管理员定期更改多次。
所以,我不需要每次管理员更改它们时都将它们添加到数组列表中。
我的意思是,有什么方法可以禁用数据库中“假期”表中选定的日期?
提前致谢,
---而且,我尝试使用这个答案......
/* create an array of days which need to be disabled */
var disabledDays = ["2-21-2010","2-24-2010","2-27-2010","2-28-2010","3-3-2010","3-17-2010","4-2-2010","4-3-2010","4-4-2010","4-5-2010"];
/* utility functions */
function nationalDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
//console.log('Checking (raw): ' + m + '-' + d + '-' + y);
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1 || new Date() > date) {
//console.log('bad: ' + (m+1) + '-' + d + '-' + y + ' / ' + disabledDays[i]);
return [false];
}
}
//console.log('good: ' + (m+1) + '-' + d + '-' + y);
return [true];
}
function noWeekendsOrHolidays(date) {
var noWeekend = jQuery.datepicker.noWeekends(date);
return noWeekend[0] ? nationalDays(date) : noWeekend;
}
/* create datepicker */
jQuery(document).ready(function() {
jQuery('#date').datepicker({
minDate: new Date(2010, 0, 1),
maxDate: new Date(2010, 5, 31),
dateFormat: 'DD, MM, d, yy',
constrainInput: true,
beforeShowDay: noWeekendsOrHolidays
});
【问题讨论】:
-
拜托,谁能紧急回答我的问题:|
标签: jquery-ui datepicker