我正在使用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,我真的可以使用一些输入来实现这一目标吗?
答案 0 :(得分:1)
alertOnDrop将元素作为你的匿名函数的第一个参数。
$scope.alertOnDrop = function(e){
alert(e.id);
};