从dhtmlx调度程序中删除块区域

时间:2013-12-24 07:00:48

标签: php jquery mysql json dhtmlx-scheduler

我正在使用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相同的数据。我希望更新该特定部分。可以添加更多正在处理的块区域或删除现有块。

好吧,我已经知道如何添加更多块,我坚持如何删除现有块区域/进程区域。

*我不想为此更新整个部分。

1 个答案:

答案 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