Удалить элементы из fullCalendar с помощью qtip2 - PullRequest
0 голосов
/ 23 февраля 2012

В настоящее время я пытаюсь добавить qtip2 в мое окно fullCalendar, чтобы я мог отобразить qtip и иметь ссылку / кнопку для удаления выбранного события из календаря, к сожалению, у меня возникли проблемы с этим. Вот как выглядит мой полный календарь:

$('#calendar_main').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            defaultView:'agendaWeek',
            minTime:8,
            height:600,
            maxTime:20,
            editable: true,
            allDaySlot:false,
            theme: true,
            firstDay: 1,
            selectable: true,
               selectHelper: true,

            eventRender: function(event, element) {
               element.qtip({ 
                content: "<a onlick='alert('Remove')> Remove me</a>",
                title: {
                  text: 'RDV',
                       button: false
                }
                },
                position: {
                    at: 'right-bottom'
                },
                show: {
                    solo: true
                },
                hide: false,
                style: 'ui-tooltip-light ui-tooltip-rounded'
               });
            } 
        });

Я полагаю, что проблема находится в атрибуте содержимого qtip, но не уверен, почему это не работает. В этом случае я просто пытаюсь отобразить предупреждение, но оно не работает (отображается Qtip, но когда я нажимаю «удалить меня», ничего не происходит. Как только я получу это, я смогу заменить Предупреждение на моя собственная функция JS, которая удалит выбранное событие в моей БД.

ps. Я работаю с Adobe Air, но не уверен, что это может быть проблемой.

Ответы [ 3 ]

0 голосов
/ 25 февраля 2012

Возможно, вы используете процедуру вызова для qTip, но в действительности вы используете qTip2.Используйте в реальной (исходный скрипт) старую версию qTip 1.00xxx, и все будет хорошо - я сделал это.

0 голосов
/ 09 октября 2013

Я на самом деле делаю то же самое, и я могу это нормально удалить.Единственная проблема, с которой я сталкиваюсь, это когда событие уничтожается, qtip застревает так, что возникает проблема, когда eventDestroy никогда не вызывается.

В любом случае, я вызываю calendarEventRender:

        $('#calendar').fullCalendar({
            firstDay: 1,
            header: {
                left: '',
                center: '',
                right: ''
            },
            defaultView: 'agendaWeek',
            allDaySlot: false,
            columnFormat: {
              week: 'ddd'
            },
            selectable: true,
            selectHelper: true,
            editable: true,
            droppable: true,
            eventRender: function(event, element) {
                calendarEventRender(event, element);
            }
        });

Вот моифункции:

function calendarEventRender(event, element)
{
    element.qtip({
        content: {
            title: { text: event.title },
            text: '<button type="button" onclick="removeEvent(' + event.id + ')">Delete</button>'
        },
        show: {
            event: 'click',
            solo: true
        },
        hide: {
            event: 'unfocus click'
        }
    });
}

function removeEvent(eventId, userId)
{    
    //Delete the event
    $('#calendar').fullCalendar('removeEvents', eventId);
}

И все это, кажется, работает.У меня нет времени, чтобы пройтись и захватить ваш код, но, надеюсь, это поможет.Также в будущем, если вы сможете получить http://jsfiddle.net/ этого, неработающие люди могут протестировать и исправить это намного проще.

Хмм, поэтому я создал jsfiddle, чтобы протестировать все это: http://jsfiddle.net/MusicMonkey5555/pZdyt/1/ и, кажется, там не работает.Я предполагаю, что это jquery или qtip или полная версия календаря.Это единственная проблема с jsfiddle - получение правильной версии всего.Я работаю над своим сайтом:

//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js
//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css
//cdnjs.cloudflare.com/ajax/libs/fullcalendar/1.6.4/fullcalendar.min.js
//cdnjs.cloudflare.com/ajax/libs/fullcalendar/1.6.4/fullcalendar.css
//cdnjs.cloudflare.com/ajax/libs/fullcalendar/1.6.4/fullcalendar.print.css
//cdnjs.cloudflare.com/ajax/libs/qtip2/2.1.1/jquery.qtip.min.js
//cdnjs.cloudflare.com/ajax/libs/qtip2/2.1.1/jquery.qtip.min.css

Поэтому я бы предложил попробовать использовать эти версии и посмотреть, работает ли он.Чаще всего это связано с тем, что в jquery есть ошибка, и вам нужна другая версия.

0 голосов
/ 23 февраля 2012

Ну, во-первых, вам нужно экранировать одинарные кавычки, чтобы сформировать строку в предупреждении.

И, во-вторых, вы забыли закрыть предупреждение с помощью одиночной кавычки в теге. Надеюсь, это поможет ...

'<a onlick="alert(\'Remove\');"> Remove me</a>'

Вот так это должно выглядеть.

...