2016-10-03 2 views
0

私はfullcalendar(https://github.com/philippfrenzel/yii2fullcalendar)を使用して、以前にドロップダウンリストからデータを取得したイベントを選択するとすぐに保存しようとしています。yii2でfullcalendarでインスタントセーブするためのselectの使い方

私はドロップダウンリストからデータを取得し、クリックしてデータを保存し、保存されたすべてのデータを表示する必要があります。

このため、私は最初にイベントのタイトルのプロンプトを表示して「通常」のイベントをdayclickに保存しようとしています。

しかし、それは動作しません:プロンプトが来る(警告も)が何も私のカレンダーに保存されています。

私はすでにdoc(fullcalendar.io/docs/mouse/dayClick/)とデモ(github.com/philippfrenzel/yii2fullcalendar-demo/blob/master/views/site/index.php)を検索しています。私は何かを見つけることはありません。私のビュー(index.phpを)だ私は何かを理解していないが、私は何を知らない

私の事...

<?php 
    use yii\helpers\Html; 
    use yii\helpers\Url; 
    use yii\helpers\ArrayHelper; 
    use yii\helpers\Json; 
    use app\models\FeuilleDeJourResponsable; 
    use yii\web\JsExpression; 
?> 
<div class="site-index"> 
    <?php 
    $JSDayClick = <<<EOF 
    function(start,end) { 
     var title = prompt('Event Title:'); 
     var eventData; 
     if (title) { 
      eventData = { 
       title: title, 
       start: start, 
       end: end 
      }; 
      $('#w0').fullCalendar('renderEvent', eventData, true); 
     } 
     $('#w0').fullCalendar('unselect'); 
    } 
EOF; 
?> 
    <?= yii2fullcalendar\yii2fullcalendar::widget([ 
     'id' => 'calendar', 
     'clientOptions' => [ 
      // 'language' => 'fa', 
      //'eventLimit' => TRUE, 
      'selectable' => true, 
      'selectHelper' => true, 
      'droppable' => true, 
      'editable' => true, 
//   'theme'=>true, 
      'fixedWeekCount' => false, 
      'defaultDate' => date('Y-m-d'), 
      'dayClick'=>new \yii\web\JsExpression($JSDayClick) 
     ], 
     'ajaxEvents' => Url::to(['/site/jsoncalendar']),    
    ]); 
?> 
    <?= Html::encode($JSDayClick); ?> 
</div> 

そして、私のコントローラ(SiteController.php用私はこのような(www.yiiframework.com/extension/yii2fullcalendar/)とこれを見つけることができます(github.com/philippfrenzel/yii2fullcalendar-demo/blob/master/controllers/SiteController.php)

誰かができる助けて ?私は私の最初のステップのために働く何かを見つける

は、 サラ

EDITをありがとう "$( '#カレンダーを')fullCalendar" を

$JSDayClick = <<<EOF 
    function(date) { 
     var title = prompt('Event Title:'); 
     var eventData; 
     alert(date.format()); 
     if (title) { 
      eventData = { 
       title: title, 
       start: date.format(), 
      }; 
      $('#calendar').fullCalendar('renderEvent', eventData, true); 
      alert(eventData.title); 
      alert(eventData.start); 
     } 
     $('#calendar').fullCalendar('unselect'); 
    } 
EOF; 

私はちょうど変更しますid "'id' => 'calendar'、"。

しかし、次のステップでは、私が作成した他のモデル(feuille de jour)にイベントを保存する方法を理解する必要があります。

が再びありがとう

私が検索を保っていますが、私は任意のアイデアを持っていない...、 サラ

+0

あなたはすべてのエラーを得るのですか? – yafater

+0

変数JSDayClickの中にデータを保存するために別のAjaxコールを作成し、コントローラで新しいアクションを作成してデータを送信する必要があります。 –

+0

Yafater、エラーはありません。 Muhammad Shahzad、私はあなたが言ったことを試みます。 私にお答えいただきありがとうございます! – Sarah

答えて

0

それはテストされていません。サイトコントローラで

$JSDayClick = <<<EOF 
     //dayClick: function (date, allDay, jsEvent, view) { 
     function (date, allDay, jsEvent, view) { 
     var titleNew = prompt('Event Title:'); var thedate1 = formatDate(date); 

      $.ajax({ 
       url: Url::to(['/site/day-click-calendar-event']), 
       dataType: 'json', 
       data: { 
         title: titleNew, 
         start: thedate1, 
         end: thedate1 
       }, 
       success: function (data, response, event, date) { 
        //alert("success here"); 
        $('#calendar').fullCalendar('renderEvent', 
        { 
         title: titleNew, 
         start: thedate1, 
         end: thedate1 
        }, true); 
       }, 
       error: function() { 
        alert("Oops! Something didn't work"); 
       } 
      }); 
     }, 

public actionDayClickCalendarEvent() 
{ 
//save date 
} 
+0

あなたが何をしているのか分かりません。そして、私はエラーがありますが、私はそれを修正することはできませんので、私は理解していません... これは私のエラーです "構文エラー、予期しない 'actionDayClickCalendarEvent'(T_STRING)、変数(T_VARIABLE)を期待" ここでhttps://github.com/philippfrenzel/yii2fullcalendar-demo/blob/master/views/site/index.php私はそれが可能性がajaxを使用しないと思いますか? – Sarah

+0

私はそれを使用しようとしているが、それは "警告("おっと!何かがうまくいかなかった ")に行く;"私は理解していない.. – Sarah

関連する問題