Jquery 将外部事件拖放到resourceWeek时,如何获取资源id?
使用FullCalendar构建工作组计划程序日历。一切都很顺利,直到我把一份工作从左边丢到了一天和一队人身上。我需要获取在删除时选择的资源行Jquery 将外部事件拖放到resourceWeek时,如何获取资源id?,jquery,html,fullcalendar,Jquery,Html,Fullcalendar,使用FullCalendar构建工作组计划程序日历。一切都很顺利,直到我把一份工作从左边丢到了一天和一队人身上。我需要获取在删除时选择的资源行 $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'Resource Scheduling', right: 'resourceWeek,resourceMonth'
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'Resource Scheduling',
right: 'resourceWeek,resourceMonth'
},
editable: true,
droppable: true,
defaultView: 'resourceWeek',
selectable: true,
selectHelper: true,
drop: function(date, allDay, ev, ui) {
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
//Get Resource (**HELP**)
copiedEventObject.resource = 'resource1'; //hard coded works
copiedEventObject.resource = $(this).data <resource>; //Where is it?
$(“#日历”).fullCalendar({
标题:{
左:“上一个,下一个今天”,
中心:'资源调度',
右图:“资源周,资源月”
},
是的,
真的,
defaultView:'resourceWeek',
是的,
selectHelper:对,
drop:功能(日期、全天、ev、ui){
//检索已删除元素的存储事件对象
var originalEventObject=$(this.data('eventObject');
var copiedEventObject=$.extend({},originalEventObject);
//将其指定为报告的日期
copiedEventObject.start=日期;
copiedEventObject.allDay=全天;
//获取资源(**帮助**)
copiedEventObject.resource='resource1';//硬编码工作
copiedEventObject.resource=$(this.data;//它在哪里?
您是否尝试过
drop: function (date, allDay, ev, ui, res) {
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
//Get Resource (**HELP**)
//copiedEventObject.resource = 'resource1'; //hard coded works
//copiedEventObject.resource = $(this).data <resource>; //Where is it?
copiedEventObject.resourceId = res.id
}
drop:函数(日期、全天、ev、ui、res){
//检索已删除元素的存储事件对象
var originalEventObject=$(this.data('eventObject');
var copiedEventObject=$.extend({},originalEventObject);
//将其指定为报告的日期
copiedEventObject.start=日期;
copiedEventObject.allDay=全天;
//获取资源(**帮助**)
//copiedEventObject.resource='resource1';//硬编码工作
//copiedEventObject.resource=$(this.data;//它在哪里?
copiedEventObject.resourceId=res.id
}
有关获取资源ID的信息,请参见此链接:
我已经解决了这个问题,但请注意,您需要将其更改为默认的fullcalandar.js文件。
在这个函数中,我对默认行进行了注释,并将其添加到fullcalendar.js中
function dragStop(_dragElement, ev, ui) {
var cell = hoverListener.stop();
clearOverlays();
if (cell) {
trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), resources[cell.col].id, ev, ui);
//trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), ev, ui);
}
}
在你的问题中添加一些代码和标记总是有帮助的。但是你是否尝试过类似于
copiedEventObject.resource=$(this.attr('resource');
?这里不赞成只链接/主要的答案-如果你能把重要的方面放到你的答案中,那会更好。