如何在jQuery完整日历中获取所选月份



我们使用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。有人能解决这个问题吗?

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

FullCalendar有一个"getDate"方法。

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

如果你不是这么问的,我很抱歉。

可能对您有用的函数"getView":

  • http://arshaw.com/fullcalendar/docs/views/View_Object/

获取日历月的第一天:

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

获取日历月的最后一天:

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

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

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

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

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

上一个版本(2018)需要使用此代码!

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

完整日历版本-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>

这个解决方案对我有效。很高兴能帮助你。谢谢你提出这个问题。

有多种方法可以获取日期,下面是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());  
    },
});

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

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

对于v5,您可以访问当前视图的View Object。这将包含currentStart,它将是视图试图表示的间隔的开始。在月份视图中,这将是本月的第一个。

然后你可以使用类似的东西https://momentjs.com/解析日期并获取月份。

const currentMonth = moment(calendar.view.currentStart).month();

相关内容

  • 没有找到相关文章

最新更新