我们可以使用this answer所示的getWeekNumber()
函数返回星期的一年。
有了这个,我们可以做weekNumber % 2 == 0
来限制它交替周。
Date.prototype.getWeekNumber = function() {
var d = new Date(+this);
d.setHours(0, 0, 0, 0);
d.setDate(d.getDate() + 4 - (d.getDay() || 7));
return Math.ceil((((d - new Date(d.getFullYear(), 0, 1))/8.64e7) + 1)/7);
};
$("#datepicker").datepicker({
beforeShowDay: function(date) {
return [date.getWeekNumber() % 2 == 0, '']
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<input type="text" id="datepicker">
注意,的beforeShowDay
预期收益是array
:
采用一个日期作为参数,并且必须以返回一个数组的函数:
[0]:表示是否可以选择此日期的真/假
[1]:CSS类名添加到日期的单元格或“”为默认显示
[2]:在此日期可选弹出提示
非常感谢您的快速响应,它以完美的方式解决了我的问题.. @santi – Abhiram