如何在jQuery完整日历中选择月份?

时间:2012-01-12 09:13:25

标签: php jquery fullcalendar

我们正在使用jQuery完整日历来显示来自数据库的事件。

我需要根据用户选择的月onchange显示日历下方的事件。 我可以根据事件日期获取数据,但我无法在jQuery日历中获得用户选择的月份。

$('#calendar').fullCalendar({
    theme: true,
    header: {

        left: 'today',
        center: 'prevYear,prev,title, next,nextYear',
        right: ' month,agendaWeek,agendaDay'
    },
    buttonText: {
        prevYear: 'Prev'
    },
    editable: false,
    events: [
    <?php foreach ($edumeet_invite_det as $key =>  $edumeet_det): ?> 
    <?php $edumeet_start = $edumeet_det->getFromDate(); ?>
    <?php $edumeet_end = $edumeet_det->getToDate(); ?>
    <?php $title = $edumeet_det->getTitle(); ?> 
        {
            title:'<?php echo $title; ?>',
            start:'<?php echo $edumeet_start ?>',
            end:'<?php echo $edumeet_end ?>',
            allDay: false
        },
    <?php endforeach; ?>
        ],

    eventColor: '#378006',    
});

这是我正在使用的日历功能,我需要让用户选择月onchange。有没有人有这个问题的解决方案?

6 个答案:

答案 0 :(得分:29)

也许我不完全理解你的问题,但听起来你只需要知道屏幕上的当月?

FullCalendar有一个&#34; getDate&#34;方法

function getMonth(){
  var date = $("#calendar").fullCalendar('getDate');
  var month_int = date.getMonth();
  //you now have the visible month as an integer from 0-11
}

很抱歉,如果这不是您的要求。

答案 1 :(得分:14)

可能对您有用的函数“getView”:

要获得日历月的第一天:

$(cal).fullCalendar('getView').start

要获取日历月的最后一天:

$(cal).fullCalendar('getView').end

获取日历的第一个可见日期:(上个月的最后几天)

$(cal).fullCalendar('getView').visStart

获取日历的最后一天:(下个月的前几天)

$(cal).fullCalendar('getView').visEnd

答案 2 :(得分:2)

在最新版本(2018)中需要使用此代码!

jQuery("#your_selector").fullCalendar('getDate').month()

答案 3 :(得分:2)

完整日历版本-4

<script type="text/javascript">

document.addEventListener('DOMContentLoaded', function() {
    var calendarEl = document.getElementById('calendar');
    var calendar = new FullCalendar.Calendar(calendarEl, {
        ...
        ...
    });

    calendar.render();

    var cdate = calendar.getDate();
    var month_int = cdate.getMonth();
    alert((month_int+1));  // March 2020 month will return 3

});

</script>

此解决方案对我有用。很高兴为您服务。感谢您提出这个问题。

答案 4 :(得分:0)

有很多方法可以获得日期,下面是you can do it when you initialize the calendar的方法,使用它可以分别获得日期,月份和年份。

 $('#calendar').fullCalendar({

    dayClick: function(date, jsEvent, view) { 
        alert('Clicked on: ' + date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear());  
    },

});

答案 5 :(得分:0)

对于完整日历 v2.6.1 (2016-02-17)

function getMonth() {
  var date = $("#calendar").fullCalendar('getDate');
  month = date._d.getMonth()+1
  console.log(month);
}