Javascript 带有外部参数的FullCalendar refetchEvents

Javascript 带有外部参数的FullCalendar refetchEvents,javascript,jquery,ajax,fullcalendar,fullcalendar-4,Javascript,Jquery,Ajax,Fullcalendar,Fullcalendar 4,我正在尝试为Fullcalendar创建一个筛选器。我有四个下拉框,用户可以在其中选择参数。在第一次加载时,它必须显示所有事件,但在使用筛选器时,仅显示选定的事件。我现在知道如何在第一次加载时使用extraParams,但我需要refetchEvents的extraParams 当我进行选择时,refetchEvents功能起作用,但与所选参数不起作用。结果是我仍然看到了所有的事件。如何发送附加参数 这是我所有函数的完整代码。我的问题是关于$('cursus tbody')的最后几行。关于('c

我正在尝试为Fullcalendar创建一个筛选器。我有四个下拉框,用户可以在其中选择参数。在第一次加载时,它必须显示所有事件,但在使用筛选器时,仅显示选定的事件。我现在知道如何在第一次加载时使用extraParams,但我需要refetchEvents的extraParams

当我进行选择时,refetchEvents功能起作用,但与所选参数不起作用。结果是我仍然看到了所有的事件。如何发送附加参数

这是我所有函数的完整代码。我的问题是关于
$('cursus tbody')的最后几行。关于('click','tr',function()

只需在“事件”中添加“数据”而不是“extraParams”


您只需要放置eventSources标记。如果您想动态发送一个extraParam,那么您需要创建一个全局日历变量,并在init方法中再次呈现它

eventSources: {
    url: 'service.php',
    method: 'POST',
    extraParams: {
        custom_param1: 'something',
        custom_param2: 'somethingelse'
    },
    failure: function() {
        alert('there was an error while fetching events!');
    },
  },

我也有同样的问题,这个方法对我很有效…
每次我需要更改一个外部参数时,我都会这样做,然后调用calendar.refetchEvents()

events: {
      url: 'load_select.php',
      method: 'POST',
      extraParams: function(){
        return {
          cursus_id: cursus_id,
          evenement_id: evenement_id,
          locatie_id: locatie_id,
          trainer_id: trainer_id
        }
      },
      failure: function() {
        alert('there was an error while fetching events!');
      },
    },
    ...

可能值得一读标题为“DynamicExtraParams参数”的部分在“感谢您的评论”中。但如果我理解正确,动态extraParams用于发送计算参数。例如,我需要发送选定的参数。在警报中,我看到了正确的cursus_id,但我无法将其作为参数发送。它不必是实际计算的参数,它只会给您重新计算的机会使用AJAX调用时存在的值(而不是定义事件源时的值,这是您现在拥有的)。例如,您可以编写
return{cursus\u id:localStorage.getItem(“cursus\u id”)};
return{someValue:document.getElementById(“someValue”).value}
,或您需要的任何东西。谢谢!现在我知道如何使用它了。
eventSources: {
    url: 'service.php',
    method: 'POST',
    extraParams: {
        custom_param1: 'something',
        custom_param2: 'somethingelse'
    },
    failure: function() {
        alert('there was an error while fetching events!');
    },
  },
events: {
      url: 'load_select.php',
      method: 'POST',
      extraParams: function(){
        return {
          cursus_id: cursus_id,
          evenement_id: evenement_id,
          locatie_id: locatie_id,
          trainer_id: trainer_id
        }
      },
      failure: function() {
        alert('there was an error while fetching events!');
      },
    },
    ...