我正在尝试创建一个jQuery日期选择器,其中禁用了今天的前两天。
我的意思是,例如,今天的当前日期是12日(星期一)。当客户点击日历时,第12天和第13天都是灰色且无法点击,第一个可用日期是第14天(周三)
我目前只有一个基本日历,周末已禁用,并且无法找到执行此方法的方法。
任何帮助将不胜感激。
答案 0 :(得分:2)
您可以使用选项beforeShowDay
,其功能在今天和明天的日期返回false
$(function() {
$("#datepicker").datepicker({
beforeShowDay: function(date) {
var today = new Date().getDate(),
tomorrow = today + 1;
// date is not today, tomorrow, or week-end
if ((today == date.getDate() || tomorrow == date.getDate()) || date.getDay() % 6 == 0) {
return [false, "CSSclass", "disabled"];
} else {
return [true, '', ''];
}
}
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
<p>Date: <input type="text" id="datepicker"></p>
答案 1 :(得分:1)
您可能需要与此jsfiddle
相关的内容$(function() {
var date = new Date();
var minDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 2);
$('#thedate').datepicker({
dateFormat: 'dd-mm-yy',
minDate: minDate,
beforeShowDay: $.datepicker.noWeekends
});
});
获取当前日期并创建一个日期为2天的新日期。然后它使用日期选择器的minDate属性并将其设置为新的最小日期。您可能需要检查+2是否大于月末,但这不应该是一个很大的麻烦。