0

数日だけを表示するように fullcalendar を設定する方法。利用可能な数日間だけ、ユーザーが独自のイベントを作成できるようにしたいからです。

4

1 に答える 1

0

質問を完全に理解しているかどうかわかりません。特定の曜日を非表示にしますか? または、ユーザーが月の特定の日付のみにイベントを作成するように制限しますか?

特定の曜日を非表示にする場合は、ここで説明されているように「hiddenDays」プロパティを使用して簡単に行うことができます: http://arshaw.com/fullcalendar/docs/display/hiddenDays/

月の特定の日付を非表示にしたい場合は、そうする規定はないと思います。ただし、代わりに「dayClick」機能を使用して、クリックされた日付がユーザーにイベントを作成してもらいたい日付であるかどうかを確認し、そうであればそこから先に進みます。さもなければ、その特定の日付にイベントを作成できないことをユーザーに知らせます。 . dayClick のドキュメントは、http://arshaw.com/fullcalendar/docs/mouse/dayClick/ にあります

また、「dayRender」を使用して、日がレンダリングされたときにコールバックを取得し (日付ごとに「td」タグを含むテーブル セルとしてレンダリングされます)、CSS クラスを追加できます (イベントの作成は許可されていません) は、特定の日付にイベントを作成できるかどうかをユーザーに知らせるために、日付を確認した後にカレンダーの特定のセルに移動します。これに関するドキュメントはこちらにあります: http://arshaw.com/fullcalendar/docs/display/dayRender/

EDIT--(OPコメントの後に編集...)

あなたのコメントから、状況はかなりトリッキーだと思います。あなたが正しく述べたように、アジェンダウィークには「dayRender」コールバックがありません。私が考えることができる唯一のオプションは、かなり汚いハックをまとめることです. 私が見つけたものから、アジェンダウィークの構造 (最新のフルカレンダー バージョンの場合) は以下のようなものです:

<table class="fc-agenda-days fc-border-separate">
    <thead>
        <tr class="fc-first fc-last">
            <th class="fc-agenda-axis fc-widget-header fc-first">&nbsp;</th>
            <th class="fc-sun fc-col0 fc-widget-header">Sun 8/11</th>
            <th class="fc-mon fc-col1 fc-widget-header">Mon 8/12</th>
            <th class="fc-mon fc-col2 fc-widget-header">Tue 8/13</th>
            ...
        </tr>
    </thead>
    <tbody>
        <tr class="fc-first fc-last">
            <th class="fc-agenda-axis fc-widget-header fc-first">&nbsp;</th>
            <td class="fc-col0 fc-sun fc-widget-content fc-past">...</td>
            <td class="fc-col1 fc-mon fc-widget-content fc-past">...</td>
            <td class="fc-col2 fc-tue fc-widget-content fc-past">...</td>
            ....
        </tr>
    </tbody>
</table>

どうにかして $("table.fc-agenda-days th.fc-col*") の日付を解析でき、無効にしたい日付については、CSS クラスを $("table.fc-agenda-days td .fc-col*") を使用して新しい背景を設定すると、準備完了です。もちろん、これは「dayClick」コールバックの処理に加えて行われます。

これは、「viewRender」コールバックで行うことができます (ビュー タイプがアジェンダウィークかどうかを確認した後)。これがあなたを正しい方向に押し上げることを願っています...どこかで行き詰まったら教えてください...

于 2013-08-15T11:03:30.257 に答える