yii efullcalendar小部件和外部事件拖放不起作用

时间:2014-04-25 22:40:32

标签: yii fullcalendar yii-extensions

您好我正在尝试使用拖放外部事件的fullcalendar并使用yii扩展程序完整日历 - 这似乎只是一个包装器。

无效的部分(没有错误不起作用)是将外部事件拖到日历上并保留在那里。它拖了一下,但它刚回家。

阅读fullcalendar文档 - 看起来我需要提供一个回调函数来删除' drop'属性。我一直在使用外部事件示例,它是完整日历的一部分。我确实发现这个例子是使用对象名称' #calendar'并且yii正在创造名称'#yw0'但是在我更新后它仍然没有用。

我找不到办法让它发挥作用。我尝试了一种简单的警报,它可以在页面加载时调用,而不是在拖动操作之后。

所以我用View

中的函数声明了一个变量
//$dropcallback=new CJavaScriptExpression("alert('hi')");
$dropcallback=new CJavaScriptExpression(
     "function(date, allDay) {
        var originalEventObject = $(this).data('eventObject');
        var copiedEventObject = $.extend({}, originalEventObject);
        copiedEventObject.start = date;
        copiedEventObject.allDay = allDay;
        $('#yw0').fullCalendar('renderEvent', copiedEventObject, true);
        if ($('#drop-remove').is(':checked')) {
           // if so, remove the element from the Draggable Events list
           $(this).remove();
        }
     }
  ");

然后我像这样创建widgit

$this->widget('ext.EFullCalendar.EFullCalendar', array(
'themeCssFile'=>'cupertino/jquery-ui.min.css',
'options'=>array(
    'header'=>array(
        'left'=>'prev,next',
        'center'=>'title',
        'right'=>'today'
    ),
    'editable'=>true,
    'dropable'=>true,
    'drop'=>$dropcallback,
    'events'=>Game::model()->gameCalendarData(),
)));

我的yii实验与JS很少相同 - 所以任何帮助都会对如何使其工作表示赞赏。

我理解在JS中你需要提供一个回调来允许drag op成功。但是当它被包裹在yii widgit中时,我需要什么样的回调?我尝试了一个PHP回调,并且只在页面加载时调用它。

我希望的结果是我可以从数据库构建外部事件列表 - 允许用户将它们拖到日历上 - 并将它们保存在数据库中。

我确实设法从日历中显示的数据库中获取数据。

由于

1 个答案:

答案 0 :(得分:0)

Droppable拼写为两个p。所以

'dropable'=>true,

应该是

'droppable'=>true,