2016-08-25 8 views
-1

予約システムにfullcalendarプラグインを使用していました。ユーザーが特定の日時にイベントを予約できないように、カレンダーの日時を無効にするにはどうすればよいですか?これまでに試したコードは以下の通りですが、現在は動作しません。fullcalendarプラグインのタイムスロットを無効にする

disableDate:function(date) 
{ 
    if(options.disableDates) { 
     var disabled_dates = options.disableDates 
     var string_date = formatDate(date,"MM-dd-yyyy") 
     if (disabled_dates.indexOf(string_date) > -1) 
     { 
     return true 
     } 
    } 
    return false 
} 
+0

私たちがあなたを助けるために十分な情報はここにありません。投稿コード。 – EJoshuaS

+0

disableDate:機能(日付){ IF(options.disableDates){ VAR disabled_dates = options.disableDates VAR string_date =は、FormatDate(日付、 "MM-DD-YYYY") IF(disabled_dates.indexOf(string_date)> -1){ return true } } falseを返します。 }これを試しましたが、うまくいきません。 – kuzo

+2

これは質問自体の中にあるべきです。読むのが簡単ですし、質問の詳細を読むためにコメントセクションを読む必要がありません。また、「うまくいかない」ということを明確にしてください。 – EJoshuaS

答えて

1

これを実現するにはBackground Eventsを使用できます。 this codepen exampleでは、FullCalendar Background Events Demoのコードの一部を使用して、特定のイベントをその場所に配置できないバックグラウンドイベントを設定します。

// red areas where no events can be dropped 
{ 
    start: '2016-08-24', 
    end: '2016-08-28', 
    overlap: false, 
    rendering: 'background', 
    color: '#ff9f89' 
} 

指定したイベントのみがバックグラウンドイベントに配置される場合には、制約を設定することもできます。

{ 
    title: 'Meeting', 
    start: '2016-08-13T11:00:00', 
    constraint: 'availableForMeeting', // defined below 
    color: '#257e4a' 
}, 
{ 
    id: 'availableForMeeting', 
    start: '2016-08-11T10:00:00', 
    end: '2016-08-11T16:00:00', 
    rendering: 'background' 
} 
+0

Ryan89さんに感謝しています。赤い部分がありますが、赤い部分はクリックできます。 – kuzo

+0

@kuzoどういう意味ですか?クリックすると何かをするコードがない限り、領域をクリックすると何も起こりません。そのコードはあなたの質問に含まれます。私が提供したコードは、あなたの質問のような特定の領域にイベントがドラッグされるのを防ぎます。あなたの質問に追加の詳細を含める必要があります、私はあなたのアプリケーションの仕組みを推測することはできません。 – Ryan89

+0

@ Ryan89ある日を無効にして、その日にユーザーがクリックできないようにしたいと考えました。 – kuzo

関連する問題