- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
非常感谢您花时间阅读。我有一个允许预订和选择日期的日历,但我需要禁用特定的工作日、月份,以及某些旅行的第三个星期五或第二个星期二。所以我有 @Thierry J. 帮助我清理的这个功能,但我需要将它加入最后一个功能(仅激活第三个星期五或第二个星期二,依此类推)。
var daysToDisable = [1, 4, 6];
var monthsToDisable = [9];
function disableSpecificWeekDays(date) {
var day = date.getDay();
if ($.inArray(day, daysToDisable) != -1) {
return [false];
}
var month = date.getMonth();
if ($.inArray(month, monthsToDisable) != -1) {
return [false];
}
return [true];
}
要只激活所选月份的第三个星期五,我有这个功能:
var day = date.getDay();
var date = date.getDate();
return [(day == 5 && date >= 15 && date <= 21), ''];
所以我想知道是否可以将所有这些功能一起用于 beforeShowDay,但能够选择具有这些限制的行程。 “停用天数”和“停用月数”函数已准备就绪并可使用以下变量:
var daysToDisable = [1, 4, 6];
var monthsToDisable = [9];
我希望有可能在特定的工作日以相同的方式禁用:
var specificdaysToDisable = []
此外,如果有更好的编码可能性,那么我将能够停用一次旅行的第三个星期五,另一次旅行的第二个星期二,然后我愿意接受建议。
提前致谢!
最佳答案
要知道是否是第三周而不是检查日期是否在 14 到 22 之间,您可以编写自己的 Date.prototype.getWeekOfMonth
函数来获取月份的周数和比用它来检查条件。
代码:
Date.prototype.getWeekOfMonth = function(exact) {
var month = this.getMonth()
, year = this.getFullYear()
, firstWeekday = new Date(year, month, 1).getDay()
, lastDateOfMonth = new Date(year, month + 1, 0).getDate()
, offsetDate = this.getDate() + firstWeekday - 1
, index = 1 // start index at 0 or 1, your choice
, weeksInMonth = index + Math.ceil((lastDateOfMonth + firstWeekday - 7) / 7)
, week = index + Math.floor(offsetDate / 7)
;
if (exact || week < 2 + index) return week;
return week === weeksInMonth ? index + (weeksInMonth -1 ) : week;
};
jQuery("#datepicker").datepicker({
beforeShowDay: disableSpecificWeekDaysandMonths,
});
var daysToDisable = [0, 2, 3, 4, 6];
var monthsToDisable = [1, 2];
var specificDaysToDisable = [5];
function disableSpecificWeekDaysandMonths(date) {
var day = date.getDay();
if ($.inArray(day, daysToDisable) != -1) {
return [false];
}
var month = date.getMonth();
if ($.inArray(month, monthsToDisable) != -1) {
return [false];
}
var date2 = date.getDate();
var inArray = $.inArray(day, specificDaysToDisable)
if (inArray != -1 && date.getWeekOfMonth()!=3) {
return [false];
}
return [true]
}
关于javascript - 加入两个函数 JqueryUI datepicker for "beforeShowDay",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18471905/
我如何防止函数 beforeShowDay 调用一天多次? jquery datepicker 有两个月。 30.01.2013 -> month side jan 31.01.2013 -> mon
当我在初始化后设置 beforeShowDay 时,它不起作用 $("#dater").datepicker(); $("#dater").datepicker({ beforeShowDay
我在 beforeShowDay 方面遇到问题。 当我的页面加载时,我告诉要突出显示的日子不会突出显示,直到我单击日历中的某一天。此外,如果我单击下个月按钮并返回到原始月份,那么“所选”日期将按预期突
我拼命尝试使用此功能在我的日期选择器中仅启用特定日期,但 beforeShowDay 函数从未触发:( 即使这样也不起作用: $(document).ready(function(){ /*i
我有以下代码: $(document).ready(function(){ $(".datepicker").each(function() { $(this).datepicker(
我正在尝试使用 beforeShowDay 来阻止日历中的日期。我找到了这个Fiddle code这样可行。但我不明白为什么我的代码不适合我。我没有收到任何错误消息。我可以在控制台中看到不是-1的日期
我在 twitter bootstrap 的模态上有日期选择器。为了突出显示某些日期,日期选择器作为 ajax 调用在“成功”部分生成。 我设法突出显示当月我想突出显示的日期,这很好。 但是当我切换到
我有一个 JQuery Datepicker,我可以在其中突出显示日期并向工具提示成功添加文本。我有一些与 this tutorial 非常相似的东西。我遇到的问题是,如果同一日期有多个事件,则旧的工
我有一个带有以下代码的日期选择器。我有一个下拉框,在下拉框中发生更改时,我想启动 datePicker beforeShowDay 函数。我怎样才能做到这一点? var freeDate; 我的部分代
我有一个数组用于禁用日期,另一个数组用于突出显示日期。有没有办法编码? 例如: beforeShowDay: function(date){ var unavilble = jQuery.da
我在引导日期选择器的 beforeShowDay 函数方面遇到一些问题。我的意图是当我点击任何一天时,所选日期之后的 5 天必须包含事件类。 当页面加载时,该功能完美运行。但是,当我尝试选择任何其他日
相当直接的问题: 如果我有一个内联日期选择器(在 div 上调用 .datepicker() 而不是输入)并使用 beforeShowDay 函数,则一切都会中断。 我在这里创建了一个 jsFiddl
我有以下代码,它可以在附加到输入的日期选择器上正常工作,但与内联日期选择器一起使用时不会运行 beforeshow 和 beforeshowday 部分。 我能做些什么来解决这个问题? $('.myd
我在使用我创建的日期选择器时遇到了问题。我在同一页面上使用非常相似的日期选择器,完全没有问题。日期选择器显示没有可选择的日期,即使当我调试“limitToOneYear”函数时,它也会在几天内返回 t
非常感谢您花时间阅读。我有一个允许预订和选择日期的日历,但我需要禁用特定的工作日、月份,以及某些旅行的第三个星期五或第二个星期二。所以我有 @Thierry J. 帮助我清理的这个功能,但我需要将它加
我正在使用 jquery 的日期选择器来选择日期,我想突出显示一些日期 - 但我遇到了一个关于 beforeShowDay 的奇怪问题。 当页面加载时,似乎加载了 json 数据,但是当我单击输入框并
我使用 beforeShowDay 来排除假期和周末,但是我希望在计算 minDate 时排除 beforeShowDays。 例如如果一周中的当前日期是星期五并且 minDate 是 2,我希望将周
我正在使用 jQuery UI Datepicker 来实现一个简单的日历。在其中我有自定义函数的 beforeShowDay 回调,因此我可以突出显示不同类型的日期(工作日、银行假期等),但是,我返
我正在为一家酒店做一个网站,我正在尝试做一个日期选择器来预订有人想留在那里的日子。 http://jsfiddle.net/newpatriks/PmPGV/ 这是我完成的,但是我遇到了一些问题: 我
简而言之,我希望日期选择器首先禁用所有星期日 - 我使用以下代码: jQuery("#datepicker").datepicker({ beforeShowDay: function(day
我是一名优秀的程序员,十分优秀!