【问题标题】:Dynamically change DateInterval in Dojo Calendar在 Dojo 日历中动态更改 DateInterval
【发布时间】:2013-07-12 12:28:07
【问题描述】:

对不起,我是法国人。

我使用 Dojo 日历,并且有一些按钮“今天”、“4 天”、“周”、“月”......如果我点击其中一个按钮,是否有一个 javascript 函数,因此更改 DateInterval 属性?还是有其他方法可以做到这一点?

感谢您的帮助。

【问题讨论】:

    标签: calendar dojo dateinterval


    【解决方案1】:

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

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

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

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


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

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

    然而,这个事件总是会在时间间隔改变时被执行,所以当你点击一个自定义按钮时它也可能会被调用,就像我之前的例子一样。我不知道是否有更适合您情况的事件处理程序,但API documentation 可能对您很有帮助。

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

    【讨论】:

    • 嗯......完美,谢谢。这正是我想要的!那么,你知道我该怎么做相反的事情吗?也就是说,还是在javascript中,当我用鼠标点击其中一个按钮时,做一个事件?
    【解决方案2】:

    要获得四天日历,请设置此项

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

    然后是这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-21
      • 2017-10-15
      • 2019-12-10
      • 1970-01-01
      • 2014-04-18
      • 2018-02-02
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多