2014-10-08 3 views
0

У меня странная проблема с 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); 

}); 

Чтобы сделать вещи незнакомца, если я позвоню $("#calendar").fullCalendar('render'); из поджигатель утешать каландра полностью оказаны. Однако, если я вызываю его после инициализации из своих сценариев, ничего не происходит. Я также заглянул в сетевую вкладку 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? –

+0

@RichardHermanson Да, такие же результаты –

+0

Просто идея, что произойдет, если вы добавите одно из представлений в заголовок (как кнопка)? Это будет трудно помочь без jsfiddle или что-то. –

ответ

0

После снова и снова читать документы я нашел this

Обратите внимание, что в этом примере вызовы делают всякий раз, когда отображается какая-либо вкладка, а не только вкладка, в которой находится календарь. Это нормально, потому что FullCalendar достаточно умен, чтобы отображать только календари, которые видны пользователю.

Проблема мой календарь был скрыт изначально, и я ожидал, что она будет оказана, когда я удалить hidden класс с помощью JavaScript.

Смежные вопросы