如何在fullcalendar中禁用过去的日期。
$('#calendar').fullCalendar({
editable: false,
selectable: true,
eventLimit: true,
views: {
agenda: {
eventLimit: 1 // adjust to 6 only for agendaWeek/agendaDay
}
},
select: function(start, end, allDay) {
var check = $.fullCalendar.formatDate(start, 'yyyy-MM-dd');
var today = $.fullCalendar.formatDate(new Date(), 'yyyy-MM-dd');
if (check >= today) {
$('.addClass').addClass('sticky');
}
}
});
这个我的代码工作正常,我可以从新的日期选择addClass
也正常工作。但如果我选择下个月的日期addClass
无效。 注意我只想使用select
选项进行此次点击,而不是dayClick
答案 0 :(得分:0)
试试这个:
select: function(start, end, allDay) {
if(start.isBefore(moment())) {
alert('Event is start in the past!');
} else {
// event ok
}
}
在此方法中,检查开始,即是否是过去的日期。
我建议你阅读moment.js libary doc,fullcalendar使用的内容。
我希望它可以帮到你。
答案 1 :(得分:0)
$(function() {
$('#calendar').fullCalendar({
defaultView: 'month',
header: {
left: 'prev,next',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
selectable: true,
selectAllow: function(selectInfo) {
return moment().diff(selectInfo.start) <= 0
}
})
})
答案 2 :(得分:-1)
使用&#34; $(&#34; #datepicker&#34;)。datepicker({minDate:0});&#34;禁用过去的月份和过去的日期。
例如:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$( "#date" ).datepicker({ minDate: 0});
});
</script>
</head>
<body>
<input id="date" />
</body>
</html>
希望它会对你有所帮助!