0

概念:我正在创建一个一年的日历。比如说01-01-2017 到 31-12-2017
问题: 当我将最小日期设置为 08-06-2017时,日期选择器会重新排列,它变成01-06-2017 到 31-05-2018的日期选择器, 我需要的是它应该1 jan 201731 dec 2017

js代码:

$('#generate_sampling .full-year').multiDatesPicker({
    addDates: dates,
    numberOfMonths: (samplingStatus=="EDIT" ? [3,4] : [6,4]),
    minDate : startDate,
    maxDate : endDate,
    defaultDate :  '01/30/'+(year == '' ? '2017' : year),
}); 
4

2 回答 2

0

希望这可以帮助

$('.full-year').multiDatesPicker('destroy');

在设置之前销毁 DatepickerminDate

演示

于 2017-08-17T10:14:16.027 回答
0

在这里,我设法停止重新安排日期。我在beforeShowDay下添加了一些条件并评论了我的最小和最大日期参数

$('#generate_sampling .full-year').multiDatesPicker({
        addDates: dates, // array of dates
        numberOfMonths:  [3,4] ,
        /*minDate : startDate,
        maxDate : endDate,*/
        defaultDate :  '01/30/'+(year == '' ? '2017' : year),

        beforeShowDay: function(dateStamp) {
            var className="";
            if(dateStamp < new Date(startDate) || dateStamp > new Date(endDate)){
                className =" ui-datepicker-unselectable ui-state-disabled "
            }
            var title = "Disabled";
            return [true, className ,title]; // title will be displayed as tooltip
        }
});

如果beforeShowDay不起作用,请检查您的 multidatepickers 核心 js 文件。下面这一行必须注释掉。取消注释。它会起作用的。

this.multiDatesPicker.originalBeforeShowDay = options.beforeShowDay;

谢谢!

于 2017-08-18T11:41:39.340 回答