我使用日期选择器来选择预约日.我已经将日期范围设置为仅适用于下个月.这很好.我想从可用的选择中排除星期六和星期日.可以这样做吗?如果是这样,怎么样?
是否有任何(简单)方法来设置jQuery UI Datepicker以禁止选择特定的预定日期?
我能够使这种方法工作,但是,它产生一个空错误,阻止它在IE中显示.
'natDays [...].0'为空或不是对象
提前致谢!
更新:如果我包含一些代码可能会有帮助,对吧?无论如何,大部分内容都直接来自上述主题:
natDays = [
[7, 23], [7, 24], [8, 13], [8, 14],
];
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, ''];
}
function noWeekendsOrHolidays(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
return nationalDays(date);
} else {
return noWeekend;
}
}
$(function() {
$("#datepicker").datepicker({
inline: …Run Code Online (Sandbox Code Playgroud) 是否有Javascript或某些库可以为网页创建一个日期选择器(类似于Jquery UI DatePicker,它只允许某些日期可点击和突出显示.
例如,在服务器端,我可以指定一组天数来启用选择.
我正在使用jQuery UI datepicker作为用户请求参观学校的表单。巡回演出有一个日期范围,在此范围内,站点管理员可能会禁用某些预定日期。到目前为止没有问题:
/* array of booked dates generated from CMS backend */
var disabledDates = [
'2015-05-06',
'2015-05-08' // examples
];
$('[name="date_of_visit"]').datepicker({
minDate: '4/30/2015', // Range start
maxDate: '10/1/2015', // Range end
beforeShowDay: function(date) { // Disable custom dates
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [$.inArray(string, disabledDates) == -1];
}
});
Run Code Online (Sandbox Code Playgroud)
我beforeShowDay从这篇文章中获得了代码:Jquery UI datepicker。禁用日期数组
我知道我可以使用第二个参数将类添加到禁用元素,但是它将其添加到所有禁用日期,包括minDateand 之外的日期maxDate:
beforeShowDay:一个将日期作为参数并且必须返回带有以下内容的数组的函数:
0:是/否,指示该日期是否可选
1:要添加到日期单元格的CSS类名称,或默认表示形式的“”;
2:此日期的可选弹出式工具提示在显示日期选择器的每一天都会调用该函数。
但是,客户要求仅“预定”日期具有视觉指示,表明该日期不可用(与默认的禁用状态不同)。不会有很多,也许是4或5。这对我来说很有意义。
有什么方法可以仅自定义beforeShowDay设置中该功能禁用的日期,或者另一种解决方案来实现我的要求?jsFiddle演示
我试图在 datepicker 中只启用一些指定的日期。在我的情况下,变量“onlyThisDates”中的值。我应该使用 enabledDates 选项来解决这个问题还是..?我不想禁用数组中的值。另一种方式。我想禁用所有内容,只启用数组中的值。
如果有人可以提供帮助,那就太好了。
<input id="openDatepick></input>
Run Code Online (Sandbox Code Playgroud)
var onlyThisDates = ['09/11/2015', '10/11/2015', '11/11/2015'];
var nowDate = new Date();
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0);
$('#openDatepick').datepicker({
format: 'dd/mm/yyyy',
startDate: today
}).on('changeDate', function (e) {
//$('this').datepicker('hide');
});
$("#remove").on("click", function () {
$('.datepicker-days').hide();
});
Run Code Online (Sandbox Code Playgroud) 我对 J-Query 不太了解,但我在我正在创建的程序中使用 J-Query UI 日期选择器。我的程序允许您预订公司的假期,但我想禁用日历上的每个圣诞节和每个新年,因为员工已经在这个日期休息了。谢谢