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



嗨,我正在尝试使用fullcalendar的拖放外部事件,并开始使用yii扩展fullcalender,它似乎只是一个包装器。

不起作用的部分(没有错误就是不起作用)正在将外部事件拖到日历上并保持不变。它拖了过去,但它刚刚回家。

阅读完整的日历文档-看起来我需要为"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(),
)));

我对JS的yii经验很少,所以很感激在如何实现这一点方面提供的任何帮助。

我知道,在JS中,您需要提供一个回调来允许拖动操作成功。但是,当它被包裹在yii widgit中时,我需要什么样的回拨?我尝试了一个PHP回调,但它只在页面加载时调用。

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

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

感谢

Droppable用两个p拼写。所以

'dropable'=>true,

应该是

'droppable'=>true,

相关内容

  • 没有找到相关文章

最新更新