我在为datepicker制作一个很棒的功能时遇到了一些麻烦。我想做的事情是:
如果当天是星期五,我希望在接下来的3天内停用,如果是过去的上午11点。
$('#datetimepicker').datepicker({
format:'d/m/Y',
formatDate:'Y/m/d',
dayNamesMin: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'],
monthNames: [ "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" ],
monthNamesShort: [ "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" ],
minDate: +1,
beforeShow : function(){
var dateTime = new Date();
var hour = dateTime.getHours();
if(hour >= 11){
$(this).datepicker( "option", "minDate", "+2" );
}
}
});
我一直在浏览stackoverflow上的其他示例,但没有任何效果。所以现在是时候试试我的运气了!
非常感谢!
答案 0 :(得分:1)
您当前的javascript函数并未将一周中的某一天考虑在内。只需添加一些逻辑来检查当前是星期五。
...
beforeShow : function(){
var dateTime = new Date();
var hour = dateTime.getHours();
var dayOfWeek = dateTime.getDay(); //check the day of the week
if(dayOfWeek == 5 && hour >= 11) {
$(this).datepicker( "option", "minDate", "+2" );
}
}
请注意,getDay()
函数将星期几作为0索引整数返回,星期日为0,星期六为6.所以date.getDay() == 5
是星期五。