yii efullcalendar widget and external events drag and drop not working
您好,我正在尝试对 fullcalendar 使用拖放外部事件并开始使用 yii 扩展完整日历 - 这似乎只是一个package器。
不工作的部分(没有错误只是不工作)是将外部事件拖到日历上并停留在那里。它拖了过去,但它只是回到家。
阅读完整日历文档 - 看起来我需要为 \\'drop\\' 属性提供回调函数。我一直在使用作为完整日历一部分的外部事件示例。我确实发现该示例使用了对象名称 \\'#calendar\\' 并且 yii 正在创建名称 \\'#yw0\\' 但在我更新后它仍然无法正常工作。
我找不到让它工作的方法。我尝试了一个简单的警报,它在页面加载时调用 - 而不是在拖动操作之后调用。
所以我在 View
中用函数声明了一个变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //$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
1 2 3 4 5 6 7 8 9 10 11 12 13 | $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 拼写。所以
1 | 'dropable'=>true, |
应该是
1 | 'droppable'=>true, |