您好我正在使用JQuery Datepicker,我想禁用其他几周。
我在beforeShowDay之前尝试过,但这对他们来说没有多大帮助,
$("#datepicker").datepicker({
beforeShowDay: function(date) {
return date.getDay() == 6
}
});
任何人都可以帮助我吗
答案 0 :(得分:1)
我们可以使用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">
&#13;
注意,beforeShowDay
的预期回报是 array
:
一个以日期作为参数的函数,必须返回一个数组:
[0]:true / false表示此日期是否可选
[1]:要添加到日期的单元格中的CSS类名称或&#34;&#34;对于默认演示文稿
[2]:此日期的可选弹出工具提示