代码如下:
//日期输入框
$("input").datetimepicker({
format: 'yyyy-mm', //日期格式为“年-月”
startView:3, //开始的页面为月份选择页面
minView: 3, //最小页面为月份选择页面
autoclose: true,
language:'zh-CN'
});
$("input.dateStart").on("click",function(){
//将后一个输入框的日期值设为结束日期
$(this).datetimepicker("setEndDate",$(this).next().val());
});
$("input.dateEnd").on("click",function(){
//将前一个输入框的日期值设为开始日期
$(this).datetimepicker("setStartDate",$(this).prev().val());
});
在使用中发现,在设置开始日期输入框中的日期后,点击结束日期输入框时,显示的可选开始月份总是比开日期输入框中的月份晚两个月,比如,开始日期输入框中的日期为2016-01,那么结束日期输入框中显示的可选开始月份就是三月。但是反过来,开始日期输入框中的可选结束月份却没有问题。初步判断是在设置开始月份的语句上有问题。
看了一下源码,找到了原因,是630行的代码应该是减1,而不是加1
startYear = this.startDate !== -Infinity ? this.startDate.getUTCFullYear() : -Infinity,
//****************bug代码行**********************//
//startMonth = this.startDate !== -Infinity ? this.startDate.getUTCMonth() + 1 : -Infinity,
//******************修改为**********************//
startMonth = this.startDate !== -Infinity ? this.startDate.getUTCMonth() - 1 : -Infinity,
endYear = this.endDate !== Infinity ? this.endDate.getUTCFullYear() : Infinity,
endMonth = this.endDate !== Infinity ? this.endDate.getUTCMonth() + 1 : Infinity,
修改后显示正常:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。