イベントにクリック イベントを追加し、日付とイベント時間を URL 変数として別のページに渡すにはどうすればよいですか? ユーザーがイベントをクリックすると、日付とイベント時間を別のページに渡して処理したいと考えています。
6 に答える
$('#calendar').fullCalendar({
eventClick: function(calEvent, jsEvent, view) {
window.location = "http://www.domain.com?start=" + calEvent.start;
}
});
詳細については、こちらをご覧ください: http://arshaw.com/fullcalendar/docs/mouse/eventClick/
日付グリッドをクリックするためのコールバック:
dayClick: function(date, allDay, jsEvent, view) {
...
}
クリックイベントのコールバック:
eventClick: function(event) {
...
}
この実際のデモを試すことができます: http://www.gbin1.com/technology/jquery/devappwithfullcanlendar/gbin1schedule.htm
ダイアログを呼び出して入力する方法は次のとおりです。
$('#calendar').fullCalendar({
dayClick: function (date, allDay, jsEvent, view) {
$("#dialog").dialog('open');
},
});
$("#dialog").dialog({
autoOpen: false,
height: 350,
width: 700,
modal: true,
buttons: {
'Create event': function () {
$(this).dialog('close');
},
Cancel: function () {
$(this).dialog('close');
}
},
close: function () {
}
});
Event オブジェクトには url パラメータがあります。これは <a> タグを作成するだけです。これをバックエンドで自分で構築して、必要な引数を URL に渡すことができます。@durilai の JavaScript メソッドも同様に機能します。
これは古い投稿であることは知っていますが、今朝、似たようなものを探していました。他のいくつかのソリューションを調べた後、私のソリューションははるかに簡単だったと感じています。 1 つは、アンカー タグで font awesome を使用していることです。
ユーザーがイベントをクリックしたときにカレンダーにイベントを表示したいと考えていました。そこで、次のように別のタグをコーディングしました。
<div id="eventContent" class="eventContent" style="display: none; border: 1px solid #005eb8; position: absolute; background: #fcf8e3; width: 30%; opacity: 1.0; padding: 4px; color: #005eb8; z-index: 2000; line-height: 1.1em;">
<a style="float: right;"><i class="fa fa-times closeEvent" aria-hidden="true"></i></a><br />
Event: <span id="eventTitle" class="eventTitle"></span><br />
Start: <span id="startTime" class="startTime"></span><br />
End: <span id="endTime" class="endTime"></span><br /><br />
</div>
asp.net を使用しているため、jquery でクラス名を使用する方が簡単です。
以下は、私の fullcalendar アプリの jquery です。
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
googleCalendarApiKey: 'APIKEY',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
events: {
googleCalendarId: '@group.calendar.google.com'
},
eventClick: function (calEvent, jsEvent, view) {
var stime = calEvent.start.format('MM/DD/YYYY, h:mm a');
var etime = calEvent.end.format('MM/DD/YYYY, h:mm a');
var eTitle = calEvent.title;
var xpos = jsEvent.pageX;
var ypos = jsEvent.pageY;
$("#eventTitle").html(eTitle);
$("#startTime").html(stime);
$("#endTime").html(etime);
$("#eventContent").css('display', 'block');
$("#eventContent").css('left', '25%');
$("#eventContent").css('top', '30%');
return false;
}
});
$("#eventContent").click(function() {
$("#eventContent").css('display', 'none');
});
});
</script>
独自の Google カレンダー ID と API キーが必要です。
シンプルなポップアップ表示が必要な場合に、これが役立つことを願っています
さて、私は自分の質問に答えたようです。JavaScript関数escape()
がそのトリックを行います。