Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Fullcalendar 4.0事件中的多个筛选器使用_Javascript_Html_Jquery_Fullcalendar_Fullcalendar 3 - Fatal编程技术网

Javascript Fullcalendar 4.0事件中的多个筛选器使用

Javascript Fullcalendar 4.0事件中的多个筛选器使用,javascript,html,jquery,fullcalendar,fullcalendar-3,Javascript,Html,Jquery,Fullcalendar,Fullcalendar 3,$(“#mycalendar”).fullCalendar({ 默认日期:“2015-05-01”, 活动:[{ 标题:“事件1”, 开始日期:“2015-05-01”, 学校:'10', 学院:“1” }, { 标题:“事件2”, 开始日期:“2015-05-02”, 学校:"2",, 学院:“1” }, { 标题:“事件3”, 开始日期:“2015-05-03”, 学校:“1”, 学院:“1” }, { 标题:“事件4”, 开始日期:“2015-05-04”, 学校:"2",, 学院:“2”

$(“#mycalendar”).fullCalendar({
默认日期:“2015-05-01”,
活动:[{
标题:“事件1”,
开始日期:“2015-05-01”,
学校:'10',
学院:“1”
},
{
标题:“事件2”,
开始日期:“2015-05-02”,
学校:"2",,
学院:“1”
},
{
标题:“事件3”,
开始日期:“2015-05-03”,
学校:“1”,
学院:“1”
},
{
标题:“事件4”,
开始日期:“2015-05-04”,
学校:"2",,
学院:“2”
}
],
eventRender:函数eventRender(事件、元素、视图){
if($('#currentAction').val()='school'){
if($('#学校选择器').val()!='all')
return['all',event.school].indexOf($('.#school_selector').val())>=0
}
if($('#currentAction').val()='college'){
if($('#学院选择器').val()!='all')
return['all',event.college].indexOf($('college\u selector').val())>=0
}
}
});
$(“#学校选择器”)。在('change',function()上{
$('currentAction').val('school');
$(“#mycalendar”).fullCalendar('rerenderEvents');
})
$(“#学院选择器”)。在('change',function()上{
$('currentAction').val('college');
$(“#mycalendar”).fullCalendar('rerenderEvents');
})

全部的
第一学校
学校2
学校10
全部的
学院1
学院2

我想这就是你的目标。你可以通过选择学校2,然后在学院1和学院2(以及所有)之间切换,并观察显示和隐藏的事件来测试它

您的问题是“current_action”变量,它导致一次只运行一个筛选器。eventRender中的其他
if
语句也是一个问题,因为它们也会阻止indexOf查询(其中包含“all”选项)返回有用的结果

一旦您通过删除所有杂讯来简化它,您就可以合并两个indexOf查询的结果,并且只显示满足这两个条件的事件(即,它们满足两个下拉列表设置的条件)

$(“#mycalendar”).fullCalendar({
默认日期:“2015-05-01”,
活动:[{
标题:“事件1”,
开始日期:“2015-05-01”,
学校:'10',
学院:“1”
},
{
标题:“事件2”,
开始日期:“2015-05-02”,
学校:"2",,
学院:“1”
},
{
标题:“事件3”,
开始日期:“2015-05-03”,
学校:“1”,
学院:“1”
},
{
标题:“事件4”,
开始日期:“2015-05-04”,
学校:"2",,
学院:“2”
}
],
eventRender:函数eventRender(事件、元素、视图){
var school=['all',event.school].indexOf($('school\u selector').val())>=0;
var college=['all',event.college].indexOf($('#college_selector').val())>=0;
返回(学校和学院);
}
});
$(“#学校选择器”)。在('change',function()上{
$(“#mycalendar”).fullCalendar('rerenderEvents');
})
$(“#学院选择器”)。在('change',function()上{
$(“#mycalendar”).fullCalendar('rerenderEvents');
})

全部的
第一学校
学校2
学校10
全部的
学院1
学院2

我认为这就是你的目标。你可以通过选择第二学校,然后在第一和第二学院(以及所有)之间切换,观察哪些事件被显示和隐藏来测试它

您的问题是“current_action”变量,这导致一次只运行一个筛选器。eventRender中的其他
if
语句也是一个问题,因为它们还会阻止indexOf查询(其中包含“all”选项)返回有用的结果

一旦您通过删除所有杂讯来简化它,您就可以合并两个indexOf查询的结果,并且只显示满足这两个条件的事件(即,它们满足两个下拉列表设置的条件)

$(“#mycalendar”).fullCalendar({
默认日期:“2015-05-01”,
活动:[{
标题:“事件1”,
开始日期:“2015-05-01”,
学校:'10',
学院:“1”
},
{
标题:“事件2”,
开始日期:“2015-05-02”,
学校:"2",,
学院:“1”
},
{
标题:“事件3”,
开始日期:“2015-05-03”,
学校:“1”,
学院:“1”
},
{
标题:“事件4”,
开始日期:“2015-05-04”,
学校:"2",,
学院:“2”
}
],
eventRender:函数eventRender(事件、元素、视图){
var school=['all',event.school].indexOf($('school\u selector').val())>=0;
var college=['all',event.college].indexOf($('#college_selector').val())>=0;
返回(学校和学院);
}
});
$(“#学校选择器”)。在('change',function()上{
$(“#mycalendar”).fullCalendar('rerenderEvents');
})
$(“#学院选择器”)。在('change',function()上{
$(“#mycalendar”).fullCalendar('rerenderEvents');
})

全部的
第一学校
学校2
学校10
全部的
学院1
学院2

。我们无法修复描述。这就像让一个技工通过电话给他们描述你的车来修理你的车一样。他们要做的第一件事就是要求看那辆车。代码也一样。描述是有帮助的,但它本身是不够的。嗨@ADyson,很抱歉不完整的细节,我将创建一个样本并提供。有2个过滤器(学校/学院)选择框。我在第一个框中选择了一个选项,事件已经被过滤,然后在第二个框中选择选项,它不考虑当前的显示事件,因为它考虑了全日历的总事件,我可以通过使用和选择两个框中的两个选项来获得正确的结果,但这不是我需要的情况。这里我的要求是在过滤完学校选择框中的事件后,我们在学校选择框中选择任何选项,它应该只考虑过滤后的完整日历事件。相关代码需要在问题中显示,否