FullCalendar使用按钮删除事件

时间:2013-06-17 22:11:58

标签: php jquery mysql ajax fullcalendar

我想从确定我正在使用的内容开始我的问题。 我正在使用由Adam Shaw开发的名为FullCalendar的jquery日历应用程序。

链接:arshaw.com/fullcalendar/

我希望能够添加删除功能,以便我可以通过单击每个事件内的删除按钮来删除事件,并发送ajax POST告诉mysql数据库删除其中id等于我刚刚删除的事件的ID。但是,通过整理文档,我一直无法找到删除事件的方法,但却无法单独处理该事件和mysql数据库。如果有人能够提供帮助,将不胜感激!提前致谢。

这是我的代码:

JAVASCRIPT

<script>
    var height = "innerHeight" in window 
               ? window.innerHeight
               : document.documentElement.offsetHeight; 

    var newHeight = parseInt(height)-112;   

    $(document).ready(function() {



        $('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },

            allDay : false,
            slotMinutes: <?php echo $tee_inc; ?>,
            minTime: "<?php echo $tee_open; ?>",
            maxTime: "<?php echo $tee_close; ?>",
            height: newHeight,
            disableDragging: true,
            disableResizing: true,          
            defaultView: 'agendaDay',
            editable: true,
            events: [
                <?php
                    $i=-1;
                    foreach( $tee_time_start as $tts )  {
                        $i++;
                        echo '{'; echo "\n";
                        echo "id : '".$tee_time_id[$i]."',"; echo "\n";
                        echo "title : '".$tee_first_name[$i]." ".$tee_last_name[$i]." -- ".$tee_holes[$i]." Holes -- ".$tee_phone_number[$i]." ----- <a href=\"#\" id=\"delete_time_".$tee_time_id[$i]."\">Delete</a> ',"; echo "\n";
                        echo "start : '".$tee_time_start[$i]."',"; echo "\n";
                        echo "end : '".$tee_time_end[$i]."',"; echo "\n";   
                        echo 'allDay : false'; echo "\n"; 
                        echo '},'; echo "\n";
                    }

                ?>
            ],
            eventDrop: function(event, delta) {
                alert(event.title + ' was moved ' + delta + ' days\n' +
                    '(should probably update your database"+delta+")');
            },
            loading: function(bool) {
                if (bool) $('#loading').show();
                else $('#loading').hide();
            },



        });

    });

</script>

3 个答案:

答案 0 :(得分:3)

您可以使用eventClick功能。点击抓取事件ID,可能会显示一个对话框并提供删除按钮。

eventClick: function(calEvent, jsEvent, view) {

            id= calEvent.id;

            $( "#dialog" ).dialog({
                  resizable: false,
                  height:100,
                  width:500,
                  modal: true,
                  title: 'Want you want to do?',
                  buttons: {
                             CLOSE: function() {
                                 $("#dialog").dialog( "close" );
                             },
                             "DELETE": function() {
                                //do the ajax request?
                             }
                           }
             });
       },

<body>标签中写入此对话框

<div id="dialog" title="" style="display:none;">Are you sure want to delete it?</div>

EXAMPLE LINK

答案 1 :(得分:0)

也许使用的jquery版本是旧的,我不是它的结果,所以我下载更新版本的jquery然后它工作

答案 2 :(得分:0)

如果您为活动设置了唯一ID,则可以单独删除它们:

Link: jsFiddle Example