jQuery UI Datepicker:
嗨,
我正在尝试让弹出日历仅允许选择将来的星期一日期。我试过这段代码:
$(function() {
$('#dateWeekly').datepicker({
showOn: 'both', // use to enable calendar button and focus
buttonImage: 'childtime/images/calendar.gif',
buttonImageOnly: true,
buttonText: 'Show Calendar',
numberOfMonths: 3,
showButtonPanel: true,
minDate: -0, maxDate: '+12M',
// beforeShowDay: function(date){ return [date.getDay() == 1,""]}
beforeShowDay: function(date) { return [date.getDay() == 1, "" && date.getTime() != today.getTime(), ""]; }
});
});
这会禁用所有过去的日期,并禁用除星期一以外的所有未来日期(到目前为止一直很好),但如果今天是星期一,则无法禁用今天的日期。任何建议将不胜感激。谢谢!
答案 0 :(得分:0)
将minDate
设为+1d
。
因为你应该只选择未来星期一,今天不应该被选中,无论它是哪一天。
您可以将beforeShowDay简化为:
beforeShowDay: function(date) {
return [date.getDay() == 1, ""];
}
答案 1 :(得分:0)
以下代码可能是此问题的解决方案。
beforeShowDay: function(date) {
returnFlag = true;
currentDate = new Date();
if( date.getDay() == 1 && date.getDate() == currentDate.getDate()
&& date.getMonth() == currentDate.getMonth()){
returnFlag = false;
}
return [returnFlag,'',false];
}
答案 2 :(得分:-1)
也许这可以帮助
$(function() {
$('#dateWeekly').datepicker({
showOn: 'both', // use to enable calendar button and focus
buttonImage: 'childtime/images/calendar.gif',
buttonImageOnly: true,
buttonText: 'Show Calendar',
numberOfMonths: 3,
showButtonPanel: true,
minDate: -0, maxDate: '+12M',
beforeShowDay: function(date) {
// from here
var selectable = true;
var today = new Date()
if( today.getDay() == 1 && date.getDate() == today.getDate() )selectable = false;
return [selectable,'',false];
// til here
}
});
});