2017-06-16 53 views

回答

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">

注意,的beforeShowDay预期收益是array

采用一个日期作为参数,并且必须以返回一个数组的函数:

[0]:表示是否可以选择此日期的真/假

[1]:CSS类名添加到日期的单元格或“”为默认显示

[2]:在此日期可选弹出提示

+0

非常感谢您的快速响应,它以完美的方式解决了我的问题.. @santi – Abhiram

相关问题