gpt4 book ai didi

parameters - rerenderEvents/refetchEvents 问题

转载 作者:行者123 更新时间:2023-12-04 04:52:21 25 4
gpt4 key购买 nike

我不确定我是否正确使用它,所以我的问题可能是我的误解,而不是错误或更大的问题。

我有一个像这样从准备好的文档启动的完整日历(为简洁起见,省略了一些代码)。

   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,
...
}

json 响应页面成功返回所选技术人员在初始加载时过滤的事件。主页上有一个控件,用于更改用户希望在日历上看到的技术人员。我无法让日历重新渲染并将技术人员参数传递给 json reposne 文件。

从按钮单击我已尝试再次调用 renderEvents()。这会在页面上放置一个重复的日历。我在调用 renderEvents() 之前尝试过 $('#calendar').('destroy')。这有效,但如果我在其他 View 中,则默认月份 View 将始终重置并销毁重建日历似乎需要大量刷新工作。

我也试过 $('#calendar').('rerenderEvents') 和 $('#calendar').('refetchEvents')。我什至试图提前重置源 $('#calendar').fullCalendar('addEventSource', 'JsonResponse.ashx?technicans=' + Technicals)。

在最后一种情况下,我可以在调试中查看 json 响应,它会选择过滤器参数并返回按最新参数过滤的结果,但页面上的日历不会使用新值刷新。

如何使用新参数刷新日历?

提前致谢。

最佳答案

在伪中,删除旧事件,添加新事件源,然后重新获取事件(从唯一的源,现在是新的源):

  • 这是未经测试的,但请尝试删除旧事件:

  • $('#calendar').fullCalendar('removeEvents')
  • 然后添加新的事件源(根据文档,这应该获取事件并将它们显示在屏幕上,但它似乎不起作用,所以按照下一个命令执行它,就像刷新一样):

  • $('#calendar').fullCalendar('addEventSource', 'JsonResponse.ashx?technicans=' + technicians)

    编辑:代替:

    然后重新获取并呈现新事件:

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

    或:
  • 正如您所提到的,使用以下内容,运行 addEventSource 获取新事件,因此这应该呈现新获取的事件:

  • $('#calendar').fullCalendar('rerenderEvents')

    关于parameters - rerenderEvents/refetchEvents 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643072/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com