【问题标题】:Create a recurring event on FullCalendar plugin在 FullCalendar 插件上创建定期事件
【发布时间】:2011-08-09 17:25:46
【问题描述】:

我正在使用 FullCalendar,但我需要创建一个经常发生的事件,该事件永远发生(例如,每周发生的事件),有一些功能吗?如果没有,我该如何实现?

【问题讨论】:

  • 下次提问时尝试添​​加更多标签,例如jQuery。您是否尝试过不指定结束日期?
  • 是的,但它会为一整天创建一个事件,而不是递归事件。
  • 然后把结束日期定为 01/01/2500,似乎它会永远消失(没有人会说错,因为你会死 ^^)
  • 问题是我需要为每天创建一个事件,而不是为此创建至少一百个事件,并且会消耗大量处理,因为当浏览器将呈现日历,它将处理我创建的所有事件。
  • 我将尝试使用 asp.net mvc 进行此操作。我计划创建一个 linq to entity 查询,它返回一个取决于日期时间参数的事件,然后是 addMonth(1) 或 addWeek(1) 等。我不确定它会如何工作,如果有的话我会评论祝你好运!

标签: javascript jquery-plugins jquery fullcalendar


【解决方案1】:

如果 fullcalendar 中的两个或多个事件具有相同的 id,它们将被视为一个,就像 http://arshaw.com/fullcalendar/ 中的示例“重复事件”一样,您可以从 PHP 发送类似这样的插件

echo json_encode(array(
        array(
            'id' => 1,
            'title' => 'test',
            'start' => strtotime('now')
        ),
        array(
            'id' => 1,
            'title' => 'test',
            'start' => strtotime('+1 weeks')
        ),
        array(
            'id' => 1,
            'title' => 'test',
            'start' => strtotime('+2 weeks')
        ),
        array(
            'id' => 1,
            'title' => 'test',
            'start' => strtotime('+3 weeks')
        )
    ));

如果您使用的是某种 php 框架(例如 CakePHP),则可以使用 javascript 助手将数组转换为 json。

如果您不使用某些服务器端处理,您可以直接通过 javascript 自己编写事件代码。 Json 事件应如下所示:

[{"id":1,"title":"test","start":1324426610},{"id":1,"title":"test","start":1325031410},{"id":1,"title":"test","start":1325636210},{"id":1,"title":"test","start":1326241010}]

注意:开始和结束日期格式可以是其他格式,例如“2011-12-20 12:20:23”(本例中为字符串)或类似的格式(在我的示例中使用 Unix 时间戳)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多