使用 fullCalendar 获取对象 ID

Get object id on drop with fullCalendar

我正在使用 fullCalendar 插件来显示包含不同事件和元素的日历。其中一些是可拖动的,因此可以更改日期等,我也需要在数据库中更新这些内容。但是我被卡住了,因为我似乎无法找到一种方法来获取正在移动的对象的 ID。

我有从数据库中取出数据并将其呈现在日历中的代码,如下所示:

$scope.temp = [];
$scope.academy = [];
$http.get(api.getUrl('academy', user.id)).success(function (response) {
    $scope.temp = response;
    for (var j = 0; j < response.length; j++) {
        $scope.academy.push({
            id: $scope.temp[j].id,
            title: $scope.temp[j].name,
            start: new Date($scope.temp[j].date).getTime(),
            className: 'bg-info bg',
            editable: true,
            location: $scope.temp[j].location,
            info: $scope.temp[j].description
        })
        if($scope.academy[j].start < $scope.time ) {
            $scope.academy[j].className= 'bg-success bg'
        }
        if(0 < $scope.academy[j].start-$scope.time && $scope.academy[j].start-$scope.time < 172800000) {
            $scope.academy[j].className= 'bg-danger bg'
            alert('Remember '+$scope.academy[j].title);
        }
        $('.calendar').fullCalendar('renderEvent',{
            id: $scope.academy[j].id,
            title: $scope.academy[j].title,
            start:  $scope.academy[j].start,
            className: $scope.academy[j].className,
            editable: true,
            location: $scope.academy[j].location,
            info: $scope.academy[j].info
        }, true)
    }
});

然后我有一个 onDrop 函数,只要发生掉落,该函数就会被激活。我可以用一个简单的 alert() 来验证。

/* alert on Drop */
$scope.alertOnDrop = function(){
    alert($('.calendar').fullCalendar('clientEvents'));
};

这显然 returns 日历上所有对象的警报,如果我添加特定的 ID,我会将该特定对象作为 [object Object]。但是我需要获取日历上放置的任何对象的对象和 ID,我真的可以使用一些输入来实现它吗?

alertOnDrop 将元素作为匿名函数的第一个参数。

$scope.alertOnDrop = function(e){
    alert(e.id);
};