Fullcalendar未呈现天数



我对Fullcalendar有一个奇怪的问题。日历未完全呈现。最初只呈现标题,我必须单击任何标题按钮才能使日历呈现日期和事件。

HTML+Razor:

<div class="row">
<div class="col-xs-12 col-md-3">
    @Html.DropDownListFor(m => m.User, @Model.UsersDropdown, new { id = "calendar_uid", @class = "form-control" })
</div>
</div>
<div class="row">
<div class="col-xs-12">
    <div id="calendar" data-lang="@Request.UserLanguages[0]"></div>
</div>
</div>

JS:

$("#calendar").fullCalendar({
    header: {
        left: '',
        center: 'title',
        right: 'today prev,next'
    },
    buttonIcons: {
        prev: 'left-single-arrow',
        next: 'right-single-arrow',
        prevYear: 'left-double-arrow',
        nextYear: 'right-double-arrow'
    },
    events: {
        url: SITE_ROOT + '/Calendar/Feed',
        type: 'POST',
        data: {
            uid: $('#calendar_uid').val()
        }
    },

});
$("#calendar_uid").change(function () {
    $("#calendar").fullCalendar('removeEventSource', SITE_ROOT + '/Calendar/Feed');
    var newSource = {
        url: SITE_ROOT + '/Calendar/Feed',
        type: 'POST',
        data: {
            uid: this.value
        }
    };
    $("#calendar").fullCalendar('addEventSource', newSource);
});

更奇怪的是,如果我从firebug控制台调用$("#calendar").fullCalendar('render');,日历将被完全渲染。但是,如果我在从脚本初始化之后调用它,则不会发生任何事情。我还查看了Firebug的网络选项卡。当日历第一次呈现时,不会向服务器发送任何请求。当我点击任何标题按钮时,请求就会被发送。之后一切都很好。

我还试着复制这把小提琴,看看它在当地是否有效。我仍然有同样的问题。我需要单击任何按钮以使日历完全呈现。

最后但并非最不重要的是,我的脚本包括(在我的页面底部):

<script src="/C5.WebApp/Scripts/jquery-1.11.1.js"></script>
<script src="/C5.WebApp/Scripts/bootstrap.js"></script>
<script src="/C5.WebApp/Scripts/jquery.hideseek.js"></script>
<script src="/C5.WebApp/Scripts/moment-with-locales.js"></script>
<script src="/C5.WebApp/Scripts/fullcalendar.js"></script>

<script>
    moment().format();
</script>
<script src="/C5.WebApp/Scripts/app_calendar.js"></script>
<script src="/C5.WebApp/Scripts/app_contacts.js"></script>
<script src="/C5.WebApp/Scripts/app_newPhone.js"></script>
<script src="/C5.WebApp/Scripts/app_newEmail.js"></script>
<script src="/C5.WebApp/Scripts/app_newAppointment.js"></script>
<script src="/C5.WebApp/Scripts/app_newActivity.js"></script>
<script src="/C5.WebApp/Scripts/application.js"></script>      

在反复阅读文档后,我发现了这个

请注意,此示例在显示任何选项卡时调用render,而不仅仅是日历所在的选项卡。这是可以的,因为FullCalendar足够智能,只能呈现用户可见的日历

问题是,我的日历最初是隐藏的,我希望在通过javascript删除hidden类时呈现它。

相关内容

  • 没有找到相关文章

最新更新