使用fullCalendar获取对象ID

时间:2015-08-18 11:41:11

标签: javascript 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 on Drop */
$scope.alertOnDrop = function(){
    alert($('.calendar').fullCalendar('clientEvents'));
};

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

1 个答案:

答案 0 :(得分:1)

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

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