fullcalendar上一页和明年按钮在文本中

时间:2012-06-06 07:02:10

标签: jquery button text fullcalendar next

两年多以前,这个问题在这里被问到但是作为一个菜鸟,我不知道如何使用Joel Potter发布的方法作为这个URL中问题的答案:

Fullcalendar jquery plugin Show years on nextYear buttons

以下是我目前在代码中的内容:

$('.fc-button-prevYear span').click(function(){
           setYearButtons();
        });

        $('.fc-button-nextYear span').click(function(){
           setYearButtons();
        });

        function setYearButtons(){
            var currentDate = $("#calendar").fullCalendar( 'getDate' );

            // I'm not 100% sure on these class names, but you can inspect the dom and figure those out
            $(".fc-button-prevYear span").text(currentDate.getYear()); 
            $(".fc-button-nextYear span").text(currentDate.getYear() + 2);
        }

如何初始化代码,以便在日历的开头,我不会再看到下一年和上一年的箭头,而是下一年和前一年的文字?

此外,计算年份的逻辑似乎有效,但我看到的文字是错误的。例如,如果当前年份是2012年(最初我看到箭头按钮,我需要在更改为文本之前点击上一个或明年按钮),当我点击下一年或上一年去2013年时,我的文本按钮显示上一年的112和下一年的114,而不是显示2012年的上一年和2014年的下一年。

1 个答案:

答案 0 :(得分:9)

只需将其添加到日历初始化:

$('#calendar').fullCalendar({
        theme: false,
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'prevYear, nextYear'
        }, 
        buttonText: {
            prevYear: parseInt(new Date().getFullYear(), 10) - 1,
            nextYear: parseInt(new Date().getFullYear(), 10) + 1
        },
        viewDisplay: function(view) {
            var d = $('#calendar').fullCalendar('getDate');
            $(".fc-button-prevYear .fc-button-content").text(parseInt(d.getFullYear(), 10) - 1);
            $(".fc-button-nextYear .fc-button-content").text(parseInt(d.getFullYear(), 10) + 1);
        }
});