1

我正在使用 FullCalendar 创建一个交互式日历,但我遇到了一个很好的障碍。

当此人进行小时范围选择(单击并拖动)时,我会打开一个对话框,允许用户为他们的事件命名并在需要时修改日期/时间选择。我想要的是使用对话框中的新日期/时间选择重新呈现选择,如果它发生变化。

目前,当我运行 select 方法时,我的选择区域刚刚从视图中删除,我希望它保留并更新为当前选择。

这是我的代码

$('#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);
});

现在我错过了什么。

4

1 回答 1

1

select方法期待startDateendDate作为 Date 对象。您正在将它们转换为文本。此外,根据文档,

allDay 是一个布尔值,指示是否选择了整天(月视图中的天或议程视图中的“全天”槽)或时间槽。

因此,如果您要选择时隙,则需要将其设置为false.

您将在选择回调文档中更清楚地看到它。相同类型的参数似乎适用于该方法。我花了一段时间才意识到这一点。例如,您可能会对具有相似名称但类型不同的事件对象属性感到困惑。在这里看到它:

http://arshaw.com/fullcalendar/docs/selection/select_callback/

于 2013-06-25T12:00:24.343 回答