jquery - 如何在播出日期选择器日历中突出显示当前周
问题描述
http://t1m0n.name/air-datepicker/docs/
我正在使用广播日期选择器日历。如何在日历中突出显示当前的一周。查看我的小提琴位置。
<input type="text"
data-range="true"
data-multiple-dates-separator=" - "
data-language="en" id="my-element"
class="datepicker-here"/>
解决方案
由于 AFAICS Air Datepicker不会将周数添加到单元格中data-
,因此您可以使用脚本来获取周数(从此 SO 答案编辑):
- 获取并存储当前周数。
- 使用Air Datepicker
onRenderCell()
方法并向日期的周数等于当前周数的单元格添加一个类:
CSS:
.-current-week- {
background: red;
}
JS:
function getWeek(d) {
// https://stackoverflow.com/a/6117889/383904
d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7));
var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7);
return {year:d.getUTCFullYear(), number: weekNo};
}
var currentWeekNumber = getWeek(new Date()).number;
$('#my-element').datepicker({
onRenderCell: function(date, cellType) {
if (cellType === 'day' && getWeek(date).number === currentWeekNumber) {
return {
classes: '-current-week-',
}
}
}
});
推荐阅读
- javascript - JavaScript 函数调用导致“setUTCHours 不是函数”
- mongoose - MongoError: E11000 重复键错误集合:用户索引:mobile_1 重复键:{ mobile: null }
- c# - 在 ASP.NET Core 中通过单击按钮更改属性值
- mysql - MySQL:将值拆分为多行,在 MySQL 8 上可以,但在 MySQL 5.7 上不起作用
- apache-kafka - Apache Kafka 在并行向代理发送多条消息时如何维护秩序?
- flutter - 在颤振中设置 SliverAppbar 的最小高度?
- terraform - Terraform RDS 参数组更改等待重启
- asp.net - 隐藏按钮标签后面的CouponCode,并在点击按钮时显示在模型中
- excel - 如何获取 VLOOKUP 计数并总结查找结果
- c# - ASP.NET Core 3.1 InProcess 托管应用程序在启动时出现异常后未重新启动