如何在 Kendodatepicker 中禁用除第 2 周和第 4 周星期四外的所有日期
How to disable all days in month except 2nd and 4th week's Thursday in Kendodatepicker
我使用 HTML 形式的 kendodatepicker 来记录 select 日期。
我想禁用每个月的所有日期,只显示第 2 周和第 4 周的星期四 select 可用(意味着用户可以 select 在星期四的一个月内只有 2 天)。
我怎样才能使用 kendodatepicker 实现它,
我在互联网上搜索了很多,但没有找到有用的东西。
目前,我将此功能用作:--
$("#datepicker").kendoDatePicker({
格式:“dd/MM/yyyy”,
分钟:昨天,
disableDates: ["mo","tu","we","sa","su","fr",]
});
disabledDates 方法的重载之一是接受函数。您可以做的是:
- 检查日期是否为星期四
- 检查日期是否在该月的第二周或第四周
- 如果一和二都为真,则return为假
这是一个漂亮的函数,可以获取给定日期在一个月中的第几周,以帮助计算数字 2:
这是一个例子:
const getWeekOfMonth = (date) => {
var firstWeekday = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;
if (firstWeekday < 0) {
firstWeekday = 6;
}
var offsetDate = date.getDate() + firstWeekday - 1;
return Math.floor(offsetDate / 7);
};
$("#datepicker").kendoDatePicker({
value: new Date(),
disableDates: (date) => {
date = new Date(date);
const dayOfWeek = date.getDay();
const weekOfMonth = getWeekOfMonth(date);
return !(dayOfWeek === 4 && (weekOfMonth === 1 || weekOfMonth === 3));
}
});
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2022.1.301/styles/kendo.default-v2.min.css"/>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2022.1.301/js/kendo.all.min.js"></script>
<input id="datepicker" />
我使用 HTML 形式的 kendodatepicker 来记录 select 日期。 我想禁用每个月的所有日期,只显示第 2 周和第 4 周的星期四 select 可用(意味着用户可以 select 在星期四的一个月内只有 2 天)。
我怎样才能使用 kendodatepicker 实现它, 我在互联网上搜索了很多,但没有找到有用的东西。
目前,我将此功能用作:--
$("#datepicker").kendoDatePicker({ 格式:“dd/MM/yyyy”, 分钟:昨天, disableDates: ["mo","tu","we","sa","su","fr",] });
disabledDates 方法的重载之一是接受函数。您可以做的是:
- 检查日期是否为星期四
- 检查日期是否在该月的第二周或第四周
- 如果一和二都为真,则return为假
这是一个漂亮的函数,可以获取给定日期在一个月中的第几周,以帮助计算数字 2:
这是一个例子:
const getWeekOfMonth = (date) => {
var firstWeekday = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;
if (firstWeekday < 0) {
firstWeekday = 6;
}
var offsetDate = date.getDate() + firstWeekday - 1;
return Math.floor(offsetDate / 7);
};
$("#datepicker").kendoDatePicker({
value: new Date(),
disableDates: (date) => {
date = new Date(date);
const dayOfWeek = date.getDay();
const weekOfMonth = getWeekOfMonth(date);
return !(dayOfWeek === 4 && (weekOfMonth === 1 || weekOfMonth === 3));
}
});
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2022.1.301/styles/kendo.default-v2.min.css"/>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2022.1.301/js/kendo.all.min.js"></script>
<input id="datepicker" />