我正在尝试手动添加一个新事件(选择一个时间范围)到特定资源,因此我需要在执行它之后将resourceId保存到DB上。如果我使用多个资源,方法select: function (start,end,allDay)
只给我时间范围,但不给我resourceId。任何解决方案?
好的,我会尝试更好地解释一下。
我正在使用日历的资源视图,您可以在FullCalendar ResourceView
看到当我尝试选择时间范围(Select Method)来添加新事件时,我可以获得startTime和endTime,正如您在提供的链接上看到的那样。
但问题是,当我使用多列视图(资源视图)时,我需要resourceId,因此我将使用AJAX将其发送到服务器并将其存储在某处。
我试过了:
这:select: function(start, end, resourceId){alert(resourceId)},
警报是:false
并且:select: function(start, end, event){alert(event.resourceId)},
警报是:未定义
对这个简短的问题感到抱歉!
谢谢!
答案 0 :(得分:5)
我遇到了同样的问题,实际上select方法的资源参数位于第5位,如下所示:
select: function(start, end, event, view, resource) {
var resourceId = resource.id;
}
使用Scheduler(v1.3.3)在fullcalendar(^ 3.0.0-beta)上为我做了诀窍
答案 1 :(得分:0)
为什么不在服务器端执行此操作,当您要插入(服务器端)事件时,检查最后一个事件然后添加(最后一个事件+ 1) - >要插入的事件的新ID。当您在日历上加载事件时,您可以从每个事件中获取id属性并且每个事件都有不同的ID。
什么是服务器端技术btw?
修改
但是你想要Event Object Id(http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)还是Jquery / Javascript id对象?
因为如果你在文档中看到你想要id是(event.id)。
检查这个,也许它会对你有帮助:(How do I get the resource id when dropping external event onto resourceWeek?)
答案 2 :(得分:0)
如果您的活动在日历上正确呈现,那么您应该只使用select: function(start, end, event){alert(event.resource.id)}
的资源ID,注意它不是resourceId。
答案 3 :(得分:0)
在另一篇文章中找到了一个非常棒的资源视图FullCalendar实现。
Implementation Link(现在链接已经破了,如果我在网上找到另一个例子,我会在这里发帖。)
这回答了问题并附带了示例。