2013-12-17 2 views
0

Я использую fullCalendar с 2 каналами JSON для своих источников событий. Я использую eventClick для открытия модального окна при нажатии на событие. Тем не менее, мне нужны только модальные окна для первого источника событий (json-events.php). Я хотел бы, чтобы все события из второго источника (json-paidstaff.php) были просто статичными, без функции eventClick. Есть ли способ указать eventClick только для одного источника?fullCalendar dynamic eventClick поведение

Моих JS в настоящее время

$('#calendar').fullCalendar({ 

editable: false, 
timeFormat: 'H(:mm)', // uppercase H for 24-hour clock 
eventSources: [ 
    // your event source 
    { 
     url: 'json-events.php?uid=$bbuserinfo[userid]' 
    }, 

    // any other sources... 
    { 
     url: 'json-paidstaff.php?uid=$bbuserinfo[userid]', 
     color: 'black', // a non-ajax option 
     textColor: 'white' // a non-ajax option 
    } 

], 

eventRender: function (event, element) { 
    element.find('.fc-event-title').append("<br/>" + event.namescreds); 
}, 

loading: function (bool) { 
    if (bool) $.blockUI(); 
    else $.unblockUI(); 
}, 

eventClick: function (calEvent, jsEvent, view) { 
    $.blockUI(); 
    Boxy.load('ajax.php?uid=$bbuserinfo[userid]&id=' + calEvent.id, { 
     modal: true, 
     closeable: true, 
     afterShow: ($.unblockUI()) 
    }); 
    } 
}); 

ответ

1

Как в документации вы можете иметь свои собственные нестандартные поля, где мы можем любую произвольную информацию, в нашем случае мы можем хранить, где это событие принадлежит.

$('#calendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    }, 
    editable: true, 
    events: [{ 
     "id": 1, 
      "title": "Hello World", 
      "start": "Wed, 15 Jan 2014 09:00:00", 
      "end": "Wed, 15 Jan 2014 10:00:00", 
     "belongsto" : "list 1" 

    }, { 
     "id": 2, 
      "title": "Good Afternoon", 
      "start": "Wed, 23 Jan 2014 13:00:00", 
      "end": "Wed, 23 Jan 2014 17:00:00", 
     "belongsto" : "list 2" 
    }], 
    eventClick: function(calEvent, jsEvent, view) { 
     alert(calEvent.belongsto); 
     if(calEvent.belongsto === "list 1") { 
       //do something. 
     } 
    } 
}); 

DEMO

Смежные вопросы