我正在使用fullcalendar创建一个交互式日历,但我遇到了一个很好的障碍。
当该人进行小时范围选择(单击和拖动)时,我会打开一个对话框,并允许用户标题并在需要时修改日期/时间选择。我想要的是通过对话框重新渲染选择新的日期/时间选择,如果它更改。
当前运行选择方法时,我的选择区域刚刚从视图中删除,我希望它留下来并将其更新到当前选择。
这是我的代码
$('#UserCalendarToHour, #UserCalendarToMin').change(function(){
var allDay = false;
var startDate = new Date($('#UserCalendarFromDate').val()+' '+$('#UserCalendarFromHour').val()+':'+$('#UserCalendarFromMin').val());
var endDate = new Date($('#UserCalendarToDate').val()+' '+$('#UserCalendarToHour').val()+':'+$('#UserCalendarToMin').val());
if($('#UserCalendarAllDay').is(':checked')){
allDay = true;
}
$('#calendar').fullCalendar('unselect');
$('#calendar').fullCalendar('select',startDate.toString(),endDate.toString(),allDay);
});
现在我缺少什么。
select
方法期望startDate
和endDate
作为日期对象。您正在将它们转换为文本。另外,根据文档,
allday是一个布尔值,指示是否选择了整天(天数 议程视图中的月份视图或"全天"插槽或时间插槽 被选择。
因此,如果您选择了时间插槽,则需要将其设置为false
。
您将在"选择回调文档"中更清楚地看到它。该方法似乎适用于参数。我花了一段时间才意识到这一点。您可能会与具有相似名称但类型不同的事件对象属性混淆。在这里看到它:
http://arshaw.com/fullcalendar/docs/selection/select_callback/