【发布时间】:2012-04-13 02:30:33
【问题描述】:
我有 jQuery 日历。我必须做到这一点,以便根据其他变量只能选择星期一或星期二等。现在,如果今天是 2012 年 4 月 27 日并且可选择的日期是星期四,并且将mindate 设置为 2012 年 4 月 27 日或当前日期,那么即使那里没有可选择的日期,默认月份仍然是 4 月。
我怎样才能使它在这种情况下默认月份是其中有可选日期的月份。
我希望这个图会有所帮助!
【问题讨论】:
标签: jquery
我有 jQuery 日历。我必须做到这一点,以便根据其他变量只能选择星期一或星期二等。现在,如果今天是 2012 年 4 月 27 日并且可选择的日期是星期四,并且将mindate 设置为 2012 年 4 月 27 日或当前日期,那么即使那里没有可选择的日期,默认月份仍然是 4 月。
我怎样才能使它在这种情况下默认月份是其中有可选日期的月份。
我希望这个图会有所帮助!
【问题讨论】:
标签: jquery
您可以使用自定义函数来设置defaultDate/minDate。在这里,我有一个定义一周中有效日期的数组。如果当前日期不是一个,它会向前移动直到找到一个。你可以为你的特定用途定制这样的东西:
var validDays = [0, 1, 1, 0, 0, 1, 0];
function firstDate() {
var valDate = new Date();
valDate.setDate(valDate.getDate() + 14);
var day = valDate.getDay();
var i = 0;
while (validDays[day] != 1 && i < 7) {
valDate.setDate(valDate.getDate() + 1);
day = valDate.getDay();
i++;
}
return valDate;
}
function validDate(date) {
if (validDays[date.getDay()] == 1) {
return [true, ""];
} else {
return [false, ""]
}
}
$(function() {
$("#datepicker").datepicker({
beforeShowDay: validDate,
minDate: firstDate(),
defaultDate: firstDate()
});
});
【讨论】:
firstDate()的第一行后面加上valDate.setDate(valDate.getDate() + 14);。以上编辑。