如何配置完整的日历来显示一些日期。因为我想让用户只在几天内创建他们自己的活动。
发布于 2013-08-15 19:03:30
我不确定我完全理解了这个问题。是否要隐藏特定的工作日?或者,您是否希望限制用户仅在一个月内的特定日期创建事件?
如果您想隐藏特定的工作日,可以通过使用'hiddenDays‘属性轻松实现,如下所示:http://arshaw.com/fullcalendar/docs/display/hiddenDays/
如果你想在一个月内隐藏特定的日期,我不认为有这样做的条款。但是,您可以改为使用'dayClick‘函数来检查单击的日期是否为您希望用户创建事件的日期,如果是,则从该日期开始,否则让用户知道无法在该特定日期创建事件。可以在以下位置找到dayClick文档:http://arshaw.com/fullcalendar/docs/mouse/dayClick/
此外,您可以使用'dayRender‘来获取一个回调,当一个日期被呈现时(它被呈现为一个带有'td’标签的表格单元格),这样您就可以在检查日期后向日历的特定单元格添加一个CSS类(比如'disabled‘表示不允许创建事件),以便让用户知道是否可以在该特定日期创建事件。相关文档可在此处找到:http://arshaw.com/fullcalendar/docs/display/dayRender/
编辑--(在操作注释后编辑...)
从你的评论中,我猜情况相当棘手。正如您正确地提到的,agendaWeek没有'dayRender‘回调。我能想到的唯一选择就是拼凑出一个相当肮脏的技巧。根据我所能找到的,agendaWeek的结构(对于最新的完整日历版本)如下所示:
<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"> </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"> </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 day th.fc-col*")中的日期,并且对于你想要禁用的日期,添加一个CSS类到$(”table.fc-agenda daystd.fc-col*“)来设置一个新的背景,你应该就可以开始工作了。这当然是对处理'dayClick‘回调的补充。
这可以在“viewRender”回调中完成(在检查视图类型是否为agendaWeek之后)。希望这能把你带到正确的方向。如果你卡在什么地方了就告诉我。
https://stackoverflow.com/questions/18249920
复制相似问题