1

私は Fullcalendar.js を使用しており、イベントごとに、指定された機能 (医療予約の確認時にステータスを変更する) を行うシンプルなコンテキストメニューを設定しています。次のコード サンプルは、1 日 (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
});

しかし、私が望むように機能するのは1日だけです。同じ日に2つ以上のイベントがある場合、contextMenuで関数を適用すると、その日の最後のイベントでのみ関数が作成されます(3つのイベントがある場合、関数は最後のイベントに適用されます。指定したイベントに関数を適用したい)

私が示している問題が発生することなく、各イベントに同じ処理を適用するにはどうすればよいですか? forEach 文を入れてみましたが、何をすればよいかわかりません

4

0 に答える 0