我使用 jQuery UI 制作了一个自定义日期选择器:http: //jsfiddle.net/u8fVj/
$("#input_custom_date").datepicker({
numberOfMonths: 2,
beforeShowDay: function(date) {
//Get today's date
var today = new Date();
today.setHours(0,0,0,0);
if (today.getDay() == 4 || today.getDay() == 5 || today.getDay() == 6) {
//If today is Wednesday, Thursday, Friday don't allow Sunday to be selectable until the next week on Sunday.
var disabledDate = new Date(today||new Date());
disabledDate.setDate(disabledDate.getDate() + (0 - 1 - disabledDate.getDay() + 7) % 7 + 1);
return [(date > today && date.getDay() == 0 && date.toString() != disabledDate.toString()), ''];
}else if(today.getDay() == 0){
//If today is Sunday, don't allow today to be selectable.
var disabledDate = today;
var curr_date = date.getDate();
var curr_month = date.getMonth();
var curr_year = date.getFullYear();
var dDate = new Date(curr_year, curr_month, curr_date);
return [(date > today && date.getDay() == 0 && dDate.toString() != disabledDate.toString()), ''];
}else{
//Everything is fine, allow all Sundays to be selectable
var day = date.getDay();
return [(date > today && day == 0), ''];
}
}
});
现在用户应该只能选择星期天的日期。它需要检查今天的日期是否是即将到来的星期日之前的星期三、星期四或星期五,如果是,则日期选择器应禁用即将到来的星期日。同样,如果今天的日期是星期天,它应该在日期选择器中禁用今天。
但是,我需要更改日期选择器以仅允许选择星期一和星期二,而不是只选择星期日。如果今天的日期是星期四、星期五或星期六,它应该禁用即将到来的星期一和星期二。如果今天是星期一,则应禁用本周的星期一和星期二。如果今天的日期是星期二,它应该只禁用今天的日期。
此外,我需要能够输入要禁用的假期的特定日期,这可能是硬编码的。
不知道如何超越我现在所拥有的,并希望得到任何帮助。我一直在努力让它发挥作用,但无法解决逻辑。