我们如何改变kendo schduler事件结束时间?

时间:2017-07-20 07:55:16

标签: jquery events kendo-ui kendo-scheduler

最近我在我的项目中使用了kendo调度程序。从那里我使用事件添加。 默认情况下,当我们从调度程序中选择时间时,它将自动设置开始时间和结束时间。开始和结束时间之间的差异始终为30分钟。 Example image is given here

根据我的要求,我想将此差异更改为1小时。

我无法设置这种差异。请帮忙。

1 个答案:

答案 0 :(得分:1)

我希望我能正确理解你的观点,这就是你如何做到的。

  1. 使用编辑功能
  2. 我打赌你只想在新活动上这样做,所以我添加了ifNew
  3. 然后获取开始和结束datetimepicker
  4. 获取当前事件startTime并对其进行修改,在本例中我添加了1小时
  5. 使用新值
  6. 设置小部件
  7. 确保你改变了e.event.end,因为你现在只改变了ui而没有真正改变事件时间,所以如果你保存而不触及"结束" datetimepicker保存的时间是正确的。
  8. 这是编辑功能代码:

    edit: function(e){
        if(e.event.isNew){
            var start = e.container.find("[name=start][data-role=datetimepicker]");
            var end = e.container.find("[name=end][data-role=datetimepicker]"); 
            var startTime = new Date(e.event.start);
            var endTime = new Date(startTime);
                endTime.setHours(startTime.getHours() + 1);
            $(start).data("kendoDateTimePicker").value(startTime); //set start date to the current date and time
            $(end).data("kendoDateTimePicker").value(endTime); //set enddate to the current date and time
    
            //this line needed, since the event time is still only 30 minutes. if you remove this, upon saving if you didnt touch the datetimepicker (leave as it) then it will save only 30 minutes while it showing 1 hour
            e.event.end = endTime;
        }
    

    这是working example