我的fullcalendar插件中的弃用警告

时间:2016-01-26 06:20:30

标签: javascript jquery fullcalendar

我有一个年份的选择,以便fullcalendar可以转到某一年和一个按钮来完成它。 这是我的代码:

$('#btnfilter').on('click', function() {
    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        eventLimit: true,
        events: '../js/fullcalendar-2.6.0/events.json.php'
    });
    var year = $('#slctyear').val();
    $('#calendar').fullCalendar('gotoDate', year);
})

此代码有效,但我在控制台中出错。我已经读过了,但我似乎无法找到答案。

1 个答案:

答案 0 :(得分:1)

错误消息表示您传递给完整日历的日期采用的格式将无法获得支持。完整日历使用名为MomentJS的库来解析日期,MomentJS正在改变它处理日期的方式。

简而言之,那个长Github线程说你需要将格式正确的日期传递给完整日历。

您似乎正在将一年(如2016)传递给完整日历,如下所示:

$('#calendar').fullCalendar('gotoDate', year);

问题是year不是有效的ISO日期。要使其有效并防止出错,您需要在将日期传递到完整日历之前格式化日期。

要正确格式化您需要使用Javascript Date()的日期。在您的情况下,您想要:

var year = new Date($('#slctyear').val(), 0 , 1);
$('#calendar').fullCalendar('gotoDate', year);

Date($('#slctyear').val(), 0 , 1)部分将在1月1日的午夜创建一个ISO格式的日期,无论表格输入包含哪一年。

这样可以防止出错。