我正在使用DHTMLX Scheduler预约约会。为了避免双重预订,我在一个时间段上显示了一个块,该块已经被其他一些用户选中但尚未完成预约过程。
我有setInterval来检查其他一些用户当前正在进行的约会状态。
我想要的是如果我在setInterval中得到一些数据应该删除特定的块。以下是我用于在调度程序上显示阻止和其他约会的脚本。
// This is how I'm showing block area on scheduler
scheduler.addMarkedTimespan({
start_date: new Date(2013,11,29,01,00),
end_date: new Date(2013,11,29,01,10),
css: "inprocess",
sections: {
unit: 'a7b6e635-f62f-6f12-020f-52a959d1ca47'
}
});
// This is how I'm showing appointments on scheduler
scheduler.config.multi_day = true;
scheduler.init('scheduler_here',new Date(2013,11,29),"unit");
scheduler.parse([{"start_date":"2013-12-29 01:13","end_date":"2013-12-29 01:23","text":"<div style='float: left;'>Booked<\/div><div style='float: right;
scheduler.updateView();
进程中的部分我希望每五秒更新一次,这就是我调用setInterval的原因。我在json中获得与setInterval中的inprocess相同的数据。我希望更新该特定部分。可以添加更多正在处理的块区域或删除现有块。
好吧,我已经知道如何添加更多块,我坚持如何删除现有块区域/进程区域。
*我不想为此更新整个部分。
答案 0 :(得分:3)
检查deleteMarkedTimespan方法。它采用与.addMarkedTimespan相同的参数,可用于从特定时间删除标记/阻止区域。您可以在此sample page
上对其进行测试在浏览器控制台中执行以下代码,它应该在第一周的星期一删除标记区域的一部分:
scheduler.deleteMarkedTimespan({
start_date: new Date(2012, 7, 6, 0),
end_date: new Date(2012, 7, 6, 3)
});
scheduler.updateView();//redraw the scheduler
相关文档: http://docs.dhtmlx.com/scheduler/limits.html#removingmarkingblocking