【问题标题】:Remove block area from dhtmlx scheduler从 dhtmlx 调度程序中删除块区域
【发布时间】:2013-12-24 07:00:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: php jquery mysql json dhtmlx-scheduler


    【解决方案1】:

    检查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

    【讨论】:

      猜你喜欢
      • 2017-01-07
      • 2015-03-30
      • 2017-03-21
      • 2012-11-20
      • 2019-07-27
      • 2020-03-29
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      相关资源
      最近更新 更多