use*_*947 8 parameters fullcalendar
我不确定我是否正确使用这个,所以我的问题可能是我的误解而不是错误或更大的问题.
我有一个完整的日历,可以从这样的doc准备就绪(为简洁起见,省略了一些代码).
function renderEvents() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var technicians = $("div[ID*='ucTechnicians'] :hidden").val();
var calendar = $('#calendar').fullCalendar({
...
events: "JsonResponse.ashx?technicians=" + technicians,
...
}
Run Code Online (Sandbox Code Playgroud)
json响应页面成功返回由初始加载时由所选技术人员过滤的事件.在主页面上是一个控件,用于更改用户希望在日历上看到的技术人员.我无法让日历重新渲染并将技术人员参数传递给json reposne文件.
从按钮单击我尝试再次调用renderEvents().这会在页面上显示重复的日历.我在调用renderEvents()之前尝试过$('#calendar').('destroy').这是有效的,但如果我在一个视图以外的默认月视图中它将全部重置并且销毁重建日历似乎需要很多工作才能刷新.
我也试过$('#calendar').('rerenderEvents')和$('#calendar').('refetchEvents').我甚至试图提前重置源$('#calendar').fullCalendar('addEventSource','JsonResponse.ashx?technicans ='+技术人员).
在最后一种情况下,我能够在调试中观察json响应并获取filter参数并返回由最新参数过滤的结果,但页面上的日历不会刷新新值.
如何使用新参数刷新日历?
提前致谢.
Sco*_*ler 14
在伪,删除旧事件,添加新事件源,然后重新获取事件(从唯一的源,现在是新源):
$( '#日历').fullCalendar( 'REMOVEEVENTS')
$('#calendar').fullCalendar('addEventSource','JsonResponse.ashx?technicans ='+ technicians)
编辑: 而不是:
然后重新获取并呈现新事件:
$('#calendar').fullCalendar('refetchEvents')
要么:
$( '#日历').fullCalendar( 'rerenderEvents')
use*_*947 10
谢谢您的帮助!
以下是根据Scoobler的建议工作的步骤:(1)removeEvents.(2)addEventSource,(3)rerenderEvents.
$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('addEventSource', 'JsonResponse.ashx?technicans=' + technicians);
$('#calendar').fullCalendar('rerenderEvents');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17893 次 |
| 最近记录: |