Проблема с datepicker получение максимальной даты

Я использую следующий код, чтобы получить maxDate от datepicker, но я, похоже, не работаю. Вы можете обнаружить какие-либо ошибки в коде.

$('#date_tim').appendDtpicker({
       futureOnly:true,
       autodateOnStart:false,
       minTime:"10:00",
       maxTime:"18:00",
       maxDate : '+3M',
       minDate: 0,
       closeOnSelected: true        
   });

спасибо

3 ответов


попробуй такое

$(function(){
   myDate = new Date();
   myDate .setMonth(myDate.getMonth()+3);
    $('#date_tim').appendDtpicker({
       futureOnly:true,
       autodateOnStart:false,
       minTime:"10:00",
       maxTime:"18:00",
       maxDate : myDate,
       closeOnSelected: true  
    }); 
});

вот работает скрипка http://jsfiddle.net/gqvxs0wg/1/

нет: опция maxDate имеет ошибку в версии v1.13.0. Хотя отлично работает с версией v1.12.0. В версии v1.13.0 покажет ошибка последнего месяца диапазона дат.

чтобы исправить это, вам нужно изменить эту строку

newdate = $picker.data("maxDate");

to

newdate = new Date($picker.data("maxDate"));

в строке нет 408 в файл на jQuery.просто-dtpicker.js


для установки диапазона дат:

$('#date_tim').appendDtpicker({
        maxDate : '2016/11/10',
        minDate: '2016/09/10'        
    });

для установки даты вы можете использовать ниже код:

$('#date_tim').handleDtpicker('setDate', new Date(2016, 09, 10, 0, 0, 0));

вам нужно упомянуть любую дату и время, которое вы хотите установить внутри нового Date();


вы используете maxDate и minDate на jQuery интерфейса управления datepicker. Но вы используете другой плагин jQuery (С помощью jQuery.просто-dtpicker.js). Вы должны установить объекты date для этих параметров, см. пример ниже:

$('#date_tim').appendDtpicker({
    futureOnly: true,
    autodateOnStart: false,
    minTime: "10:00",
    maxTime: "18:00",
    minDate: new Date(),
    maxDate: calculateMaxDate(3),
    closeOnSelected: true
});

function calculateMaxDate(monthsCount) {
    var date = new Date();
    date.setMonth(date.getMonth() + monthsCount);
    return date;
}