Events 完整日历加载事件

Events 完整日历加载事件,events,fullcalendar,reload,dropdown,Events,Fullcalendar,Reload,Dropdown,早上好, 我使用下拉列表选择日历中必须显示的事件的用户。事件从数据库加载到文件JsonEvents.txt。 当我从下拉列表中更改用户并单击自定义按钮以显示新事件时,日历不会加载事件。仅当我等待几秒钟,然后单击按钮时,在本例中,日历将显示更正事件。有什么问题?为什么日历不会立即显示新事件?提前谢谢 这是javascript代码: <script type='text/javascript'> $(document).ready(function() {

早上好, 我使用下拉列表选择日历中必须显示的事件的用户。事件从数据库加载到文件JsonEvents.txt。 当我从下拉列表中更改用户并单击自定义按钮以显示新事件时,日历不会加载事件。仅当我等待几秒钟,然后单击按钮时,在本例中,日历将显示更正事件。有什么问题?为什么日历不会立即显示新事件?提前谢谢

这是javascript代码:

<script type='text/javascript'>
          $(document).ready(function() {              
              var calendar = $('#calendar').fullCalendar({ 
                lang: 'it',
                customButtons: {
                    myCustomButton: {
                        text: 'Visualizza',
                        click: function() {

                            $("#calendar").fullCalendar('refetchEvents');                               

                        }
                    }
                },
                header: { 
                  left: 'prev,next today myCustomButton',
                  center: 'title',  
                  right: 'month,agendaWeek,agendaDay'
                },              
                lazyFetching: false,
                selectable: true,               
               select: function(start, end, allDay) {
                    var title = prompt('Nome evento:');                 
                    if (title) { 
                        if(end.hasTime()){  
                            var st = moment(start).format('YYYY-MM-DD HH:mm:ss');
                            var en = moment(end).format('YYYY-MM-DD HH:mm:ss');
                            createEvent(title,st,en,false);                         
                            calendar.fullCalendar('unselect');                      
                        }
                        else{
                            var st = moment(start).format('YYYY-MM-DD');    
                            createEvent(title,st,'',true);                          
                            calendar.fullCalendar('unselect');                      
                        }
                    }
                },
                editable: true,
                eventClick: function(event, element) {
                    $('#finestra').dialog({
                        modal: true,
                        buttons: {
                            "Si": function() {                              
                                deleteEvent(event.id);      
                                calendar.fullCalendar( 'removeEvents' , event.id);
                                $( this ).dialog( "close" );                                
                            },
                            "No": function(){
                                $( this ).dialog( "close" );
                                var title = prompt('Nome evento:',event.title);
                                event.title = title;    
                                updateEvent(event.id,event.title,'','');
                                calendar.fullCalendar('updateEvent', event);                       
                            }
                         }
                     });            
                },  
                eventResize: function (event, dayDelta, minuteDelta, revertFunc) {
                    if (confirm("Confermi di modificare l'orario dell'evento?")) {
                        var st = moment(event.start).format('YYYY-MM-DD HH:mm:ss');
                        var en = moment(event.end).format('YYYY-MM-DD HH:mm:ss');
                        updateEvent(event.id, event.title, st, en );
                    }
                    else {
                        revertFunc();
                    }
                },
                eventDrop: function(event, delta, revertFunc) {
                    if (confirm("Confermi di modificare la data dell'evento?")) {
                        var st = moment(event.start).format('YYYY-MM-DD HH:mm:ss');
                        var en = moment(event.end).format('YYYY-MM-DD HH:mm:ss');
                        updateEvent(event.id, event.title, st, en );
                    }
                    else {
                        revertFunc();
                    }
                },
                events: {
                    url: "JsonEvents.txt",                  
                }   

              });  

            }); 
    </script>   
下拉列表是在jsp代码中创建的:

<form action="../AgendaServlet" method="post"  id="frm_age" >

        <table>
            <tr>
                <td  class="row">
                    <span class="small_label">Select user</span>
                </td><td  class="row  s230" align="right">  
                    <select class="custom-select s230" id="specialista" name="specialista" onchange="viewEvents()">
                    <% list = (List<KeyValueString>) session.getAttribute(Def.list_specialisti);
                            if (list != null) {
                                for (KeyValueString kv : list) {    %>
                                     <option value="<%=kv.getKey()  %>" ><%=kv.getValue() %></option>                                    
                        <%  } 
                            } %>
                    </select>
                </td>
            </tr>
        </table>
        <div id='calendar'></div>

    </form>

jsp代码运行良好。我认为问题在于javascript代码。

这里没有足够的信息-您需要发布您的实际代码,以便我们可以看到发生了什么,还可以检查您的浏览器控制台和网络选项卡,并在这里报告您看到的任何错误。根据你的描述,可能有很多原因。但是,为什么要先将数据库中的数据加载到文本文件中呢?为什么不直接将它们从数据库加载到日历中?抱歉,我忘记发布代码。编辑您的问题,不要将其作为答案发布,因为它不是答案:-您说:当我从下拉列表中更改用户并单击自定义按钮以显示新事件时。。。。代码中提到的下拉列表在哪里?@Nerina事件的大小是多少?我的意思是它太大了吗?你能发布你的活动文件吗?因为据我所见,您将延迟抓取设置为false。因此,在我看来,如果您的事件大小较大,并且事件的日期范围较远,这可能就是问题所在。