我已经启动了日历,并且日历渲染正确。
我正在使用选择下拉列表跳到一个月。这是我的代码。
HTML:
<select name="months">
<option value="">Select a month ...</option>
<option value="0">January</option>
<option value="1">February</option>
<option value="2">March</option>
<option value="3">April</option>
<option value="4">May</option>
<option value="5">June</option>
<option value="6">July</option>
<option value="7">August</option>
<option value="8">September</option>
<option value="9">October</option>
<option value="10">November</option>
<option value="11">December</option>
</select>
JS:
jQuery('select[name="months"]').change(function() {
var month = jQuery(this).val();
// console.log(month);
jQuery('#calendar').fullCalendar('gotoDate', 2016, month);
});
由于某些原因,当我更改月份时,日历会跳至1970年1月。
有任何想法吗?
最佳答案
看看goToDate
的fullCalendar文档:
gotoDate
将日历移动到任意日期。
.fullCalendar('gotoDate',date),其中date可以是Moment对象,或者
Moment构造函数接受的所有内容。
更改日期时,您需要传递moment.js date,否则该时刻可以转换为时刻日期。由于您的日期不是有效的“时刻”日期,因此会将您选择的日期默认为“ 0”纪元时间。
您需要的代码如下:
jQuery('#calendar').fullCalendar('gotoDate', [momentObjectHere]);
有趣的事实:您看到结果为1970年的原因是,1970年在纪元时间为“ 0”。这是一种将时间表示为数字的方式。如果您有兴趣,可以阅读有关epoch time here的更多信息。
http://fullcalendar.io/docs/current_date/gotoDate/