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