我正在使用此处的jquery日期选择器:http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerStartEnd.html,允许用户选择开始日期和结束日期。
但我希望能够禁用特定日期。
我尝试实施此处的代码:stackoverflow.com/questions/501943/can-the-jquery-ui-datepicker-be-made-to-disable-saturdays-and-sundays-and-holida,讨论禁用国家法定假日。
这是我的完整代码:
$(function()
{
$('.date-pick').datePicker({ beforeShowDay: nationalDays})
// $(".selector").datepicker({ beforeShowDay: nationalDays})
var natDays = [
[1, 26, 'au'], [2, 6, 'nz'], [3, 17, 'ie'],
[4, 27, 'za'], [5, 25, 'ar'], [6, 6, 'se'],
[7, 4, 'us'], [8, 17, 'id'], [9, 7, 'br'],
[10, 1, 'cn'], [11, 22, 'lb'], [12, 12, 'ke']
];
function nationalDays(date) {
for (i = 0; i < natDays.length; i++) {
if (date.getMonth() == natDays[i][0] - 1
&& date.getDate() == natDays[i][1]) {
return [false, natDays[i][2] + '_day'];
}
}
return [true, ''];
}
$('#start-date').bind(
'dpClosed',
function(e, selectedDates)
{
var d = selectedDates[0];
if (d) {
d = new Date(d);
$('#end-date').dpSetStartDate(d.addDays(1).asString());
}
}
);
$('#end-date').bind(
'dpClosed',
function(e, selectedDates)
{
var d = selectedDates[0];
if (d) {
d = new Date(d);
$('#start-date').dpSetEndDate(d.addDays(-1).asString());
}
}
);
});
但这似乎不起作用。
我非常感谢你解决这个问题的任何帮助!
答案 0 :(得分:0)
Simple Calendar Widget内置了这种功能。你可以转换吗?
答案 1 :(得分:0)
你似乎在两个不同的选择日期之间感到困惑。您在“beforeShowDay”中显示的链接是jQuery UI datepicker小部件的文档。但似乎您正在使用my date picker widget。
使用我的小部件,您需要使用renderCallback
来禁用某些日期。这两个例子说明了如何:
http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerCustomCellRender.html (禁用周末的弹出日历)
http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/renderCalendarBankHolidays.html(另一个示例显示renderCalendar
renderCallback
显示英国银行假日 - datePicker
在幕后使用renderCalendar
,以便您可以通过{ {1}}以同样的方式进行。