1

我正在使用 Fullcalendar.js 并为每个事件设置一个简单的上下文菜单,该菜单具有指定的功能(确认医疗预约时更改状态)。仅当我在一天中有一个事件(eventRender)时,下一个代码示例才能正常工作:

eventRender: function(event, element) {


        var originalClass   = element[0].className;
        element[0].className = originalClass + ' hasmenu';

        $('#calendar2').contextmenu({
                delegate: '.hasmenu',
                menu: [{
                  title: 'Cambiar Estado',
                  cmd: 'cestado',
                  action: function(ui){ui.cmd = "cestado";confirmarCambioEstado(event);}
                }, {
                  title: 'Atender Cita',
                  cmd: 'acita',
                  action: function(ui){ui.cmd = "acita";if(event.color=="#0088cc"){
                actualizarEstado(3,event.id);
                event.color = "yellowgreen";
                calendarJ.fullCalendar('rerenderEvents');
                hrefHCE.href = "HCE?idCita="+event.id;
                hrefHCE.click();
            }else{
                advertenciaEstado();
            }}
              },{
                  title: 'Cancelar Cita',
                  cmd: 'ccita',
                  action: function(ui){ui.cmd = "ccita";event.color = "green";
            confirmarCambioEstado(event);}
              }, {
                  title: 'Eliminar Cita',
                  cmd: 'ecita',
                  action: function(ui){ui.cmd = "ecita";confirmarEliminar(event);}
                }],
            beforeOpen: function (event,ui) {      
                ui.menu.zIndex($(event.target).zIndex() + 1);
            } 
        });   
    },

    eventDrop: function(event, delta, revertFunc){
        confirmarCambioFecha(event,revertFunc);
    },
    eventAfterAllRender: cambiarFuncion
});

但是,只能像我想要的那样工作一天。当我在同一天有两个或更多事件时,当在 contextMenu 中应用函数时,它只使用当天的最后一个事件(如果我有 3 个事件,函数适用于最后一个事件,而不适用于我要应用功能的指定事件)

我如何对每个事件应用相同的处理而没有我所显示的问题?我试着写一个 forEach 句子,但我不知道我在做什么

4

0 回答 0