【问题标题】:Fullcalendar not rendering daysFullcalendar 不呈现天数
【发布时间】:2014-12-02 18:37:26
【问题描述】:

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

HTML + 剃刀:

<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 的网络选项卡。首次呈现日历时,不会向服务器发送任何请求。当我单击任何标题按钮时发送请求。之后一切正常。

我还尝试复制this fiddle 并查看它是否在本地工作。我仍然有同样的问题。我需要单击任意按钮才能使日历完全呈现。

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

<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>      

【问题讨论】:

  • 你尝试设置 defaultView 了吗?
  • @RichardHermanson 是的结果相同
  • 只是一个想法,如果将其中一个视图添加到标题(作为按钮)会发生什么?如果没有 jsfiddle 或其他东西,将很难提供帮助

标签: javascript jquery asp.net-mvc fullcalendar


【解决方案1】:

一遍又一遍地阅读文档后,我找到了this

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

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

【讨论】:

    猜你喜欢
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多