全日历在移动中改变颜色

fullcalendar changing color on move

我有一个包含多个不同用户条目的完整日历。我已经成功地为每个用户的日历条目设置了不同的颜色。这一切都有效,除非我将日历项拖动(移动)到另一个日期,颜色会变回默认值。

json 看起来像这样

{  
   "events":[  
      {  
         "title":"tkt[14411]",
         "start":"2015-07-09T06:00:00.196-0500",
         "end":"2015-07-09T08:00:00.196-0500",
         "id":"7",
         "userID":"1",
         "calColor":"#ff0000",
         "className":"ticketSrc_1",
         "custom":"test text here"
      },
      {  
         "title":"tkt[14412]",
         "start":"2015-07-11T06:00:00.196-0500",
         "end":"2015-07-11T08:00:00.196-0500",
         "id":"7",
         "userID":"2",
         "calColor":"#ffff00",
         "className":"ticketSrc_2",
         "custom":"test text here"
      }      
   ],
   "error":"0"
}

我添加事件并更改每个事件颜色的代码是这样的:

// remove duplicate events
for(var i=0;i<=json.events.length-1;i++){
    $('#calendar').fullCalendar("removeEvents",json.events[i].id);
}

// set colors for each user
$.when(
    $('#calendar').fullCalendar("addEventSource",json)
  ).done(function(){
      var cname="";
            for(var i=0;i<=json.events.length-1;i++){
                cname=".ticketSrc_"+json.events[i].userID;  
                $(cname).css("background",json.events[i].calColor);
            }                     
});

解决方案是在 json

中传递一个 "color" 参数
{  
   "events":[  
      {  
         "title":"tkt[14411]",
         "start":"2015-07-09T06:00:00.196-0500",
         "end":"2015-07-09T08:00:00.196-0500",
         "id":"7",
         "userID":"1",
         "color":"#ff0000",
         "className":"ticketSrc_1",
         "custom":"test text here"
      },
      {  
         "title":"tkt[14412]",
         "start":"2015-07-11T06:00:00.196-0500",
         "end":"2015-07-11T08:00:00.196-0500",
         "id":"7",
         "userID":"2",
         "color":"#ffff00",
         "className":"ticketSrc_2",
         "custom":"test text here"
      }      
   ],
   "error":"0"
}