我正在使用fullCalendar来管理多名员工的轮班计划。出于过滤目的,我想根据所选的userID从中删除事件。对于每个用户,都有一个提供此ID的按钮。
目前我这样做:
$.ajax({
url: "./_res/json/getWorkTime.php", //selects events accoring to the selected user
type: "POST",
dataType: "json", //data comes as json
data: {
start: $("#calendar").fullCalendar("getView").start._d.dateFormat("Y-m-d"), //start date of the current view
end: $("#calendar").fullCalendar("getView").end._d.dateFormat("Y-m-d"), //end date of the current view
user: parseInt($(this).attr("id").replace("user_","")) //userID, coming from the selected button
}
}).done(function(ret) {
$.each(ret,function(index,value) { //due to the fact that removeEvents only processes one eventID, running over the result set
$("#calendar").fullCalendar("removeEvents",value.id); //getting eventID out of the result set an removing it
});
});
这完美无缺,尽管从日历中渲染事件需要花费很长时间。在数字中,这个脚本需要大约六秒钟来处理大约23个条目。
我正在寻找一种更好,更有效的方法。有人有想法吗?