第一次尝试时无法从完整日历中删除事件

时间:2015-12-13 18:18:00

标签: jquery mysql twitter-bootstrap fullcalendar

我有一个Bootstrap模式插件,我试图删除在FullCalendar中创建的事件。在我第一次尝试删除时,事件从日历视图中消失,但mysql条目不会被删除。我注意到calEvent.id的原因是在我的初始尝试删除期间没有获得值,但在第二次尝试中calEvent.id有一个值,我可以成功删除该事件。我想知道为什么calEvent.id在第一次尝试时无法获取事件ID。使用我在第一次尝试时注意到的警报框我得到了一个“未定义”,我猜它是因为没有值calEvent.id。请在下面找到我的脚本。

$('#event_delete').on('click', function () {                    
    $('#calendar').fullCalendar('removeEvents', calEvent.id);

    $.ajax({
           data: "&id=" + calEvent.id,
           type: "POST",
           url: "http://localhost/book/js/delete_events.php"                    
    });
    alert (calEvent.id);
    CloseModalBox();
});

-------------- delete_events.php -----------

<?php
try {
    $bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', 'root', '');
} catch(Exception $e) {
    exit('Unable to connect to database.');
}
$id = $_POST['id'];
$sql = "DELETE from evenement WHERE id=".$id;
$q = $bdd->prepare($sql);
$q->execute();
?>

2 个答案:

答案 0 :(得分:1)

数据应该像这样传递: -

$('#event_delete').on('click', function () {                    
    $('#calendar').fullCalendar('removeEvents', calEvent.id);

    $.ajax({
           data: {id: calEvent.id},
           type: "POST",
           url: "http://localhost/book/js/delete_events.php"                    
          });
          alert (calEvent.id);
          CloseModalBox();
});

答案 1 :(得分:0)

您可以调用$('#calendar')。fullCalendar('refetchEvents')来代替重新加载整个页面。它将从数据库中获取所有事件并重新呈现它们。