2014-10-08 137 views
0

我有一個Fullcalendar奇怪的問題。日曆未完全呈現。只有標題首先被渲染,我必須點擊任何標題按鈕才能使日曆渲染日期和事件。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); 

}); 

爲了使事情變得陌生如果我叫$("#calendar").fullCalendar('render');從Firebug的控制檯壓延完全呈現。但是,如果我從我的腳本初始化後調用它沒有任何反應。我還查看了Firebug的網絡標籤。第一次渲染日曆時,不會向服務器發送任何請求。當我點擊任何標題按鈕時,請求被髮送。之後一切正常。

我也嘗試複製this小提琴,看看它是否在本地工作。我仍然有同樣的問題。我需要點擊任何按鈕才能使日曆完全呈現。

最後但並非最不重要的我的腳本包括(在我的頁面的底部):

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

你試過設置defaultView嗎? – 2014-10-08 16:17:41

+0

@RichardHermanson是的相同結果 – 2014-10-08 19:19:35

+0

只是一個想法,如果你添加一個視圖到標題(作爲一個按鈕)會發生什麼?如果沒有jsfiddle或其他東西,很難提供幫助 – 2014-10-08 19:44:55

回答

0

一次又一次地閱讀文檔後,我找到了this

請注意,此示例調用渲染每當顯示任何選項卡時,不僅僅是日曆所在的選項卡。這是好的,因爲FullCalendar足夠聰明,只能渲染用戶可見的日曆。

問題是我的日曆最初是隱藏的,我希望當我通過javascript刪除hidden類它被渲染。