1

我想从确定我正在使用的东西开始我的问题。我正在使用由 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>
4

3 回答 3

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>

示例链接

于 2013-06-17T22:21:20.193 回答
0

也许使用的jquery版本太旧了,我不知道结果,所以我下载了jquery的更新版本,然后它就可以工作了

于 2014-01-21T20:11:11.737 回答
0

如果您为事件设置唯一 ID,则可以执行以下操作以单独删除它们:

Link:jsFiddle 示例

于 2014-09-12T22:01:39.317 回答