我想为我的日历显示15的slotMinutes。但它不起作用。它适用于这个小提琴
$(document).ready(function() {
var calendar = $('#calendar').fullCalendar({
defaultView: 'agendaWeek',
editable: true,
slotMinutes: 15,
selectable: true,
//header and other values
select: function(start, end, allDay) {
endtime = $.fullCalendar.formatDate(end,'h:mm tt');
starttime = $.fullCalendar.formatDate(start,'ddd, MMM d, h:mm tt');
var mywhen = starttime + ' - ' + endtime;
$('#createEventModal #apptStartTime').val(start);
$('#createEventModal #apptEndTime').val(end);
$('#createEventModal #apptAllDay').val(allDay);
$('#createEventModal #when').text(mywhen);
$('#createEventModal').modal('show');
}
});
要访问小提琴,请点击http://jsfiddle.net/mccannf/AzmJv/16/ ...但是,它无法在mine上工作,我做错了什么?
答案 0 :(得分:15)
你正在将v1的小提琴与你的v2小提琴进行比较。
在v2中没有slotMinutes
。相反,您应该使用slotDuration
(see the docs),应设置为:
slotDuration: '00:15:00'
以下是更新后的jsfiddle。
编辑:为垂直轴上的每个时间段添加说明
前一个小提琴显示15分钟的插槽,但垂直轴只有小时(如早上6点,早上7点等)。
如果您希望纵轴具有所有时间段(早上6点,上午6点15分,上午6点半,早上6点45分),您可以查看fullcalendar.js
第5780行(2.1.1版)的源代码)有一个名为slatRowHtml
的函数。
在此函数中,以下条件用于写入时间:!slotNormal || !minutes
,其中:
var slotNormal = this.slotDuration.asMinutes() % 15 === 0;
minutes = slotDate.minutes();
因此,slotNormal
始终为真(我们设置了15分钟),minutes
将为0
,15
,30
和{{ 1}}。由于条件为负(45
),这意味着!slotNormal || !minutes
始终为!slotNormal
而false
仅在!minutes
时为真,这就是为什么只有显示小时数。
要解决此问题,您有两个选项,每个选项都有其怪癖:
minutes = 0
。使用此值slotNormal = '00:15:01'
将为false,并且所有插槽都将具有描述。这个问题是你要在每个时隙中添加一秒钟,这意味着,当fullcalendar打印slotNormal
时,由于添加的秒数,它将是3pm
。你可以check this JSFiddle。3:01pm
。这将有效,但您需要记住每次更新FullCalendar时检查条件,答案 1 :(得分:0)
请在 fullcalendar.js
(h && i ? "" : "<span>" + r(n.format(this.axisFormat)) + "<\/span>")
替换为
(h && i ? "<span>"+i+"</span>" : "<span>" + r(n.format(this.axisFormat)) + "<\/span>")