在fullcalendar中添加新事件时如何获取资源ID

Posted

技术标签:

【中文标题】在fullcalendar中添加新事件时如何获取资源ID【英文标题】:How to get the resource id when adding a new event in fullcalendar 【发布时间】:2014-04-05 15:32:06 【问题描述】:

我正在使用多资源视图。 现在,当我为任何资源创建任何事件时,如何在 select 函数中获取资源 ID、名称?

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

我试过了:

select: function(start, end, resourceId)alert(resourceId),警报为:false

select: function(start, end, event)alert(event.resourceId),警报为:undefined

【问题讨论】:

您能否更准确地描述一下您的“多种资源”是什么? 我有 3 个名为 Resource1、Resource2、Resource3 的资源。资源垂直和时间水平。我想将事件添加到特定资源。我需要每个事件的 resourceId 完成后保存DB上的事件。 请显示此链接ikelin.com/jquery-fullcalendar-resource-day-view 查看“资源日视图”。我想要同样的 事件是数组吗?你可以试试 event[0].resourceId @Monica:你用的是哪个插件?普通 fullcalendar 还是 ikelin's fork ?请编辑您的问题以添加这一点。 【参考方案1】:

fullcalendar 插件不知道“多个资源”。 您将不得不从其他一些参数中获取“资源”。

这里有两个简单的例子:

您可以在日历附近的某处添加一组单选按钮“资源 1”、“资源 2”、“资源 3”。 您应该让用户在单击和拖动网格之前选择一个资源。 在select 回调中,您可以通过读取选中的单选按钮来获取资源。

一旦用户选择了时间范围,您可以打开一个对话框,其中显示一个包含所选时间范围的表单和一个额外的<select>...</select> 菜单,让用户选择应该选择哪个资源。

【讨论】:

我已经使用列出资源的下拉列表以这种方式完成了。我将选择一个资源并在该资源下添加事件,resourceid 将正确传递到数据库。但我没有想要这样,因为资源名称已经在标题部分水平显示,所以下拉列表没有用。我想在每个资源下输入事件并为每个事件获取相应的资源ID。任何想法?

以上是关于在fullcalendar中添加新事件时如何获取资源ID的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ajax更改事件对象后刷新fullcalendar v4

FullCalendar:在新选项卡/窗口中打开 gcal 事件

使用fullCalendar将allDay设置为false时,如何动态设置事件开始和结束时间?

jquery fullcalendar 事件过滤

如何在fullCalendar中使用addEventSource注册事件?

事件的ID(Fullcalendar)