在jQuery UI datepicker中禁用假日、星期日和过去的日期
Disable holiday, sundays and past dates inside jQuery UI datepicker
我正在用jQuery日期picker创建约会表单。我搜索了周围,但似乎我不能结合所有的功能,我想在展示前的一天。我想从日期选择器禁用今天之前的所有日期(昨天和其余部分,因为你不能在今天之前的日期预约,它必须晚些时候),然后禁用每个星期日(其非工作日)和公共假期(这一个使用数组)。我从别人那里看到的是,jQuery是专门为一个函数,比如公共假日,它只是一个数组,但如何禁用前一天和周日?
我试着跟随这篇文章http://articles.tutorboy.com/2010/09/03/jquery-ui-datepicker-disable-specified-dates/但我不知道如何结合它。有人能告诉我怎么做吗?
我在每个星期天都禁用了这个
function disabledSunday(date) {
var day = date.getDay();
return [(day != 0), ''];
}
$('#datepicker').datepicker({
dateFormat: 'mm-dd-yy',
beforeShowDay: disabledSunday
});
到今天为止的所有日期
var date = new Date();
var m = date.getMonth(),
d = date.getDate(),
y = date.getFullYear();
// Disable all dates till today
$('#datepicker').datepicker({
minDate: new Date(y, m, d),
dateFormat: 'mm-dd-yy',
});
此选项适用于特定日期,如公共假期
// Disable a list of dates
var disabledDays = ["5-31-2013", "6-01-2013"];
function disableAllTheseDays(date) {
var m = date.getMonth(),
d = date.getDate(),
y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if ($.inArray((m + 1) + '-' + d + '-' + y, disabledDays) != -1) {
return [false];
}
}
return [true];
}
$('#datepicker').datepicker({
dateFormat: 'mm-dd-yy',
beforeShowDay: disableAllTheseDays
});
如何将这三个函数合二为一,我对Jquery和javascript不太了解
试试:-HTML代码:<input id="txtDate" />
function disabledays(date) {
var ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
//if u have to disable a list of day
var removeDays = ["2013-6-11","2013-6-31" ];
if ($.inArray(ymd, removeDays) >= 0) {
return [false];
} else {
//Show accept sundays
var day = date.getDay();
return [(day == 1 || day == 2 || day == 3 || day == 4 ||day == 5 ||day == 6 )];
}
}
$(function () {
$('#txtDate').datepicker({
beforeShowDay: disabledays
});
});
试试这个$("#datepicker").datepicker({ minDate: 0 });
您可以使用minDate
选项禁用过去的日期。此外,您可以使用beforeShowDay
选项来检查其他两个条件**。
$("#datepicker").datepicker({
minDate: 0,
beforeShowDay: function (date) {
// it is possible to write the following function using one line
// of code; instead, multiple if/else are used for readability
var ok = true;
if (date.getDay() === 0) { // is sunday
ok = false;
} else {
var dateStr = $.datepicker.formatDate("m-dd-yy", date);
if ($.inArray(dateStr, disabledDays) >= 0) { // is holiday
ok = false;
}
}
return [ok, ""];
}
});
});
**实际上可以检查该函数中的所有三个条件。
愿你在这里找到你的解决方案
http://jqueryui.com/datepicker/min-max
相关文章:
- primefaces日历可以禁用过去的日期和时间吗
- 如果在过去两个小时内没有记录,返回0,javascript逻辑
- 如何定义星期日和平日.按日期使用开关
- 柴如承诺即使错了也会过去
- 如何限制Fullcalender在过去几天禁用所有类型的操作
- 创建过去365天的日历网格
- 转换“;2012年7月15日星期日00:00:00 GMT+0700(东南亚标准时间)“;到php/javascript
- 检查过去6个月的DateTime验证
- 尝试创建未来的日期,而创建了过去的日期
- 在过去24小时内,谷歌应用程序脚本或可视化API的任何变化
- 过去五个月的数组
- 在输入类型日期和内部旋转箭头中禁用过去的日期
- 把鼠标移过去,然后把鼠标移出去.悬停时折叠内容标头
- 计算日期选择器+时间选择器是否在东部标准时区的过去
- 通过JavaScript阻止过去的日期?安全
- 如何在不包括当前日期的情况下检查日期是否不是过去
- Javascript 返回过去 6 个月,然后将每个月用作变量
- 如何明显禁用过去的时间段的日视图jQuery全日历
- 为什么我的用户范围的自定义维度会根据过去的匹配而发生变化
- 在jQuery UI datepicker中禁用假日、星期日和过去的日期