11

Fullcalendar のすべてのイベントに ID を追加する必要があります。これはhttp://arshaw.com/fullcalendar/docs/event_data/Event_Object/で見つかりましたが、方法がわかりません。この ID は
すべてのイベントで一意です。イベントを Mysql データベースに保存します。ありがとう

4

8 に答える 8

7

解決策を見つけました!イベントを作成するときは、ここに一意の ID を入力してください:

var shift = calendar.fullCalendar('renderEvent',
        {
            id: shift_id,
            title: current_name,
            start: new Date(y, m, d + current_day, current_start_time_h, current_start_time_m),
            end: new Date(y, m, d + current_day, current_end_time_h, current_end_time_m),
            allDay: false
        }, true // make the event "stick"
        );

その後、このリスナーは DOM 構造に ID を追加します。

     eventAfterRender:function( event, element, view ) { 
$(element).attr("id","event_id_"+event._id);
},

フィールドですべてのイベントを取得するには:

console.log(calendar.fullCalendar('clientEvents'));

これでイベントの配列ができ、すべてのイベントが DOM 構造で番号付けされました!

于 2014-04-06T21:22:14.853 に答える
1

OK、これが私の解決策です。まず、DB から最後の ID イベントを取得し、最後の ID に 1 を加えます

<?php
$sql = mysql_query("SELECT id FROM calendar ORDER BY id DESC LIMIT 1");

$resul = mysql_fetch_row($sql);
$idActual = $resul[0];
$idActual = $idActual + 1;
?>

次に、IDをJSに送信します

var idActual = "<?php echo $idActual ?>";

以上です。

于 2013-04-03T20:08:46.450 に答える
1

Event オブジェクトの ID はオプション フィールドです。サーバー側スクリプトから返したいものは何でも返して使用できます。フィールドの組み合わせから複合 ID を作成できます...'calendarName_eventID' または単にデータベースの eventID を使用します。ただし、主キーをそのように公開するかどうかはわかりません (それ自体が別の問題です)。簡単に言えば、独自の ID 値を作成できます。

こちらをご覧ください: https://code.google.com/p/fullcalendar/issues/detail?id=713

スレッドはカレンダー イベントの削除を処理しますが、元の投稿者が保存イベントからのコールバックで ID を設定する方法を示しています。

お役に立てば幸いです。

于 2013-04-03T03:56:51.440 に答える
0

次のようなパラメーターでパラメーター ID を設定することをお勧めします。

$('#calendar').fullCalendar({
  id: 'calendar',
  eventReceive: function(event) {
    alert(this.calendar.options.id);
  },
  eventDrop: function(event) {
    alert(this.calendar.options.id);
  },
  eventClick: function(event) {
    alert(this.calendar.options.id);
  },
  eventRender: function(event) {
    alert(this.calendar.options.id);
  }
});

于 2015-07-22T15:07:52.270 に答える