jquery - 使用完整的日历 jquery 插件作为谷歌日历

标签 jquery jquery-plugins fullcalendar

我正在使用 jQuery fullcalendar 插件。为事件提供了拖动和调整大小选项。

我喜欢像谷歌日历一样添加事件和编辑事件。

任何其他插件都可以在 jquery 中引入 Google 日历功能

如何做到这一点?

已更新

....

eventClick: function(calEvent, jsEvent, view) {
    alert('Event: ' + calEvent.id);
    // alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
    // alert('View: ' + view.name);

    // change the border color just for fun
    // $(this).css('border-color', 'red');

    tb_show("Edit Event","event_edit.php?event_obj="+calEvent+"&event_title="+calEvent.title+"&keepThis=true&TB_iframe=true&height=250&width=400");
},

.....

calEvent 是一个对象,我正在调用 iframe 厚框弹出窗口,因此我无法维护对象。

calEvent 在另一个页面中。

最佳答案

这是我在 fullcalendar init 中的“添加事件”部分:

select: function(start, end, allDay) {
                var calendars = getAjaxData('calendar/calendarsJson');


                var txt = '<h3>Add event:</h3>\n\
                           <div class="clear"></div>\n\
                           <p><label>'+CI.lang.language.what+':</label><input type="text"  name="title" value="" /></p>\n\
                           <p><label>'+CI.lang.language.where+':</label><input type="text"  name="location" value="" /></p>\n\
                           <p><label>'+CI.lang.language.description+':</label></p>\n\
                           <p><textarea  name="description"></textarea></p>';
                txt += '<p><label>'+CI.lang.language.calendar+':</label>\n\
                            <select name="id_calendar">';
                for(i=0;i<calendars.length;i++) {
                    txt += '<option value="'+calendars[i].id_calendar+'">'+calendars[i].title+'</option>';
                }
                txt += '</select></p>';
                txt += '<br />';                    

                var btns = {};
                btns[CI.lang.language.create_event] = true
                btns[CI.lang.language.cancel] = false;

                $.prompt(txt,{
                    prefix:'event_box',
                    callback: addeventnow,
                    buttons: btns
                });                

                function addeventnow(v,m,f){

                    if(f && v){
                        var classN = getAjaxData('calendar/getClassJson/'+f.id_calendar);
                        var nEvent = {
                            title: f.title,
                            description: f.description,
                            location: f.location,
                            start: start,
                            end: end,
                            allDay: allDay,
                            className: classN,
                            id_calendar: f.id_calendar

                        };
                        if (f.title) {
                            calendar.fullCalendar('renderEvent',
                                nEvent,
                                false // make the event "stick"
                            );
                        }
                        addEvent(nEvent);
                        calendar.fullCalendar('refetchEvents');
                    }

                     calendar.fullCalendar('unselect');

                }

            },

不要打扰“语言”和“CI”的东西。这只是使用我选择的框架 Codeigniter 本地化字符串的方法。

关于jquery - 使用完整的日历 jquery 插件作为谷歌日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235159/

相关文章:

jquery - 如果鼠标在一段时间内没有位于元素上方,则隐藏元素

JSP Ajax 发布到另一个 JSP 页面

jquery - 如何使用addClass和removeClass控制JQuery的速度?

jquery - 如何安装 jQuery 验证插件?

javascript - 使用 fullCalendar 获取掉落时的对象 ID

jquery - fullCalendar jQuery,每周一重复?

jquery - 获取 javascript 对象的第一个键

jquery - 热得到类型为 'value' 的最后一个元素的 'input' 和某个 'name' 吗?

javascript - jQuery 可排序中的自定义索引

php - 全日历 :- On load events time is not correct