我正在使用 jQuery datepicker,我需要一个每隔两周禁用一次的功能。
例如:偶数周的所有日期 (2,4,6..) 均已启用且可以选取 - 但奇数周的所有日期 (1,3,5..) 均已禁用且无法选取。
我知道我可以使用 beforeshowday 禁用特定日期/或日期。但这不是我想要的..
有什么解决办法吗?谢谢。
最佳答案
您可以使用datepicker
的beforeShowDay
函数来禁用。下面的代码使用 moment 来让一周变得更容易,但您也可以尝试其他方法:
$( function() {
$( "#datepicker" ).datepicker({
beforeShowDay:function(d){
var m=moment(d);
//week number is even
var en=m.week()%2===0;
//its first and monday
en|=(m.date()===1 && m.isoWeekday()===1);
return [en,"","Odd Week"];
}
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://momentjs.com/downloads/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
<p>Date: <input type="text" id="datepicker"></p>
已更新以启用奇数周的第一个星期一。检查 2015 年 6 月 1 日
关于javascript - jQuery UI Datepicker - 每两周禁用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42777132/