fullcalendar.js:一次拖动多个事件

时间:2012-10-18 09:32:33

标签: jquery ruby-on-rails jquery-ui drag-and-drop fullcalendar

要求如下:

  1. 我们拖动元素X放下它(假设)2012年10月19日
  2. 我们在同一天(2012年10月19日)放下元素Y
  3. 直观地表明元素在日历上已“连接”
  4. 将这对元素保存到数据库
  5. 框架:Ruby on Rails 3.2.8,jQuery-1.8.1,fullcalendar.js 1.5.4

1 个答案:

答案 0 :(得分:0)

我会在FullCalendar事件中创建一个名为linkedto的非标准字段。对于事件A,这将包含它链接到的事件B的事件ID,反之亦然。 您可以将要放入Fullcalendar的元素拖放到可拖动和可放置的元素上。一旦元素被删除一天(使用Fullcalendar drop callback),您将在内存中搜索FullCalendar事件(clientEvents)以查找当天的事件。 如果未找到,则使用drop回调中的详细信息在当天创建新事件(称为A)。 如果找到某个事件,则会使用linkedto链接的事件ID(A.id)创建一个新事件(称之为B),并使用新事件更新链接事件的linkedto字段ID(B.id)。 创建事件B后,使用ajax帖子将两个事件保存回服务器(确保保存事件的所有详细信息,包括linkedto详细信息)。

不确定您希望如何直观地链接这两个事件。这对事件在每月的每一天都能分享一种独特的颜色吗?您可以为每月的每一天预设一组颜色(1到31),并在创建时将这对事件的backgroundColor设置为该颜色。