如何正确地在fullcalendar中添加按钮?

时间:2015-11-02 12:42:54

标签: javascript jquery fullcalendar

我正在使用完整的日历,我有这个功能:

calendar: function(datos,rut){

    var self = this;
    console.info(datos);
    $('#calendar').fullCalendar({

        height: 500,
        events: datos,
        editable: true,

            header: {
                left: '',
                center: 'prev title next',
                right: '',
            },

        eventClick:  function(event) {
            $('#modalTitle').html(event.title);
            $('#modalBody').html(event.description);
            $('#eventUrl').attr('href',event.url);
            $('#fullCalModal').modal();
        },

        eventRender: function (event, element) {

            element.find('.fc-title').append(" (<strong>"+ event.estado +"</strong>)");

            var estado = event.estado;
            var date = event.title;
            var formatoFecha = date.substring(0,10);
            $('.fc-day-number[data-date='+formatoFecha+']').html("<div class=text-center><button type='button' style='margin-right:5px; padding:0; border: none; background: none;' id ='editar_control_"+formatoFecha+"_id' class='btn btn-default addButton' title='Ver/Editar'><i class='fa fa-eye'></i></button></div>");
            self.actionBtnCalendar(formatoFecha,rut,datos);


        }

    })

    $('#calendar').fullCalendar('removeEvents');
    $('#calendar').fullCalendar('addEventSource', datos);         
    $('#calendar').fullCalendar('rerenderEvents');        
},

看起来像:

enter image description here

眼睛图标是一个按钮,没关系,但问题是我用这个:

$('.fc-day-number[data-date='+formatoFecha+']').html("<div class=text-center><button type='button' style='margin-right:5px; padding:0; border: none; background: none;' id ='editar_control_"+formatoFecha+"_id' class='btn btn-default addButton' title='Ver/Editar'><i class='fa fa-eye'></i></button></div>";

使用html,因此天数消失,如果我使用追加,看起来像这样:

enter image description here

眼睛的数量与白天的事件数量相同。

因此,我不知道每天如何正确地按下按钮,但在外面,我需要与第一张照片相同但显示数字天数。

我感谢任何建议或帮助,对不起我的英语。

修改

如果我使用dayRender:

eventRender: function (event, element) {

            element.find('.fc-title').append(" (<strong>"+ event.estado +"</strong>)");

            var estado = event.estado;
            var date = event.title;
            var formatoFecha = date.substring(0,10);
            //$('.fc-day-number[data-date='+formatoFecha+']').html("<div class=text-center><button type='button' style='margin-right:5px; padding:0; border: none; background: none;' id ='editar_control_"+formatoFecha+"_id' class='btn btn-default addButton' title='Ver/Editar'><i class='fa fa-eye'></i></button></div>");
            self.actionBtnCalendar(formatoFecha,rut,datos); 
        },

        dayRender: function (date, element) {
            $('.fc-day-number[data-date='+date+']').append("<div class=text-center><button type='button' style='margin-right:5px; padding:0; border: none; background: none;' id ='editar_control_"+date+"_id' class='btn btn-default addButton' title='Ver/Editar'><i class='fa fa-eye'></i></button></div>");
        }

没有任何反应

1 个答案:

答案 0 :(得分:0)

你得到你看到的结果,因为你使用eventRender钩子,而不是每天显示一次你应该使用dayRender钩子的按钮。 请参阅here

dayRender: function (date, element) {
        $('.fc-day-number[data-date='+date+']').append("<div class=text-center><button type='button' style='margin-right:5px; padding:0; border: none; background: none;' id ='editar_control_"+date+"_id' class='btn btn-default addButton' title='Ver/Editar'><i class='fa fa-eye'></i></button></div>");
    }

使用此挂钩可以使用append,因为它每天只调用一次。