在Dojo日历中动态更改DateInterval

时间:2013-07-12 12:28:08

标签: calendar dojo dateinterval

对不起,我是法国人。

我使用Dojo日历,并且有一些按钮“今天”“4天”,“周”,“月”...是否有一个javascript函数,如果我点击这些按钮之一,那么更改DateInterval属性?或者还有另一种方法可以做到这一点?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

因此,如果我理解正确,您想要更改日期间隔而无需单击其中一个按钮? 您可以使用dateInterval属性执行此操作,该属性根据API documentation接受值:dayweekmonth(我不知道如何获得“4周”)。

这意味着您可以使用以下方式更改它们:

registry.byId("myCalendar").set("dateInterval", "day");

我也做了一个例子JSFiddle(没有正确渲染,但按钮可以做你想要的)。你当然可以更改启动器(我创建了一个单独的按钮),但它可以是任何东西。


编辑:根据评论中的要求,您可以使用以下事件处理程序确定选择了哪个“视图”:

registry.byId("test").set('onTimeIntervalChange', function(e) {
       console.log(e);
});

但是,当时间间隔发生变化时,将始终执行此事件,因此当您单击上一个示例中的自定义按钮时,也可能会调用此事件。我不知道是否有更适合您情况的事件处理程序,但API documentation可能对您非常有帮助。

无论如何,我更新了JSFiddle,你可以找到here

答案 1 :(得分:0)

要获得四天日历设置

registry.byId("myCalendar").set("dateInterval", "day");

然后这个

registry.byId("myCalendar").set("dateIntervalSteps", 4);