【问题标题】:How to get event resourceId when adding a new one添加新的时如何获取事件resourceId
【发布时间】:2013-05-14 22:20:46
【问题描述】:

我正在尝试手动将新事件(选择时间范围)添加到特定资源,因此在执行此操作后我需要 resourceId 将事件保存在数据库中。如果我使用多个资源,select: function (start,end,allDay) 方法只给我时间范围,但不给我 resourceId。有什么解决办法吗?

在下面编辑

好的,我会尽量解释清楚。

我正在使用日历的资源视图,正如您在 FullCalendar ResourceView 看到的那样

当我尝试选择一个时间范围 (Select Method) 来添加新事件时,我可以获得 startTime 和 endTime,正如您在提供的链接上看到的那样。

但是,问题是,当我使用多列视图(资源视图)时,我需要 resourceId,所以我将使用 AJAX 将其发送到服务器并存储在某个地方。

我试过了:

这个:select: function(start, end, resourceId){alert(resourceId)}, 警报是:假

还有这个:select: function(start, end, event){alert(event.resourceId)}, 警报是:未定义

抱歉这个简短的问题!

谢谢!

【问题讨论】:

  • 你的问题不清楚你的代码在哪里你试过什么

标签: jquery fullcalendar


【解决方案1】:

我遇到了同样的问题,实际上 select 方法在第 5 个位置有一个资源参数,如下所示:

select: function(start, end, event, view, resource) {
  var resourceId = resource.id;
}

它在 fullcalendar (^3.0.0-beta) 和 Scheduler (v1.3.3) 上为我解决了问题

【讨论】:

  • 也为我做了。我认为在渲染之前获取资源 ID。
  • 这行得通——毫无疑问。参数名称供您选择,但不能省略“事件”和“视图”参数。我的问题是:如果我应该自己寻找这条信息怎么办?您在 Fullcalendar 文档中的哪个位置找到了参数列表?
  • @BriceCoustillas 我不记得了.. 我可能是console.log 我能找到的所有东西并检查了原型?‍♂️
【解决方案2】:

如果您的活动在日历上正确呈现,那么您只需通过 select: function(start, end, event){alert(event.resource.id)} 获取资源 ID,注意它不是 resourceId。

【讨论】:

  • 它还没有渲染,这就是问题所在。我需要 resource.id after 选择时间范围并 before 呈现事件。
  • 好的,第一步:function colDate(col) { return cloneDate(t.visStart); } 应该是这样的,因为它会将列计为“未来几天”而不是不同的资源。除此之外,您可能还需要在函数 selectionManager() 中进行更改,但不确定具体在哪里
【解决方案3】:

在另一篇文章中发现了一个很棒的资源视图的 FullCalendar 实现。

Post

Implementation Link(这个链接现在失效了,如果我在网上找到另一个例子,我会在这里发布)。

这回答了问题并附带示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多