Как ограничить дату окончания DatePicker на основе даты начала в jquery-UI?

0

Я пытаюсь получить пользователя, который выбирает дату начала в # ftm-field1, и когда выбрана дата в поле # ftm-field1, пользователь не может выбрать дату окончания, которая до # ftm-field1. Дата окончания выбирается в поле # ftm-field2.

var dateToday = new Date();
$('#formTaskManagement #ftm-field1').datepicker({
    dateFormat: "yy-mm-dd",
    minDate: null,
    maxDate: dateToday,
});

$('#formTaskManagement #ftm-field2').datepicker({
    dateFormat: "yy-mm-dd",
    minDate: null,
    maxDate: dateToday,
});

Я пробовал использовать

$('#formTaskManagement #ftm-field1').datepicker({
        minDate: null,
        maxDate: dateToday,
        onSelect: function(selected) {
            $('#formTaskManagement #ftm-field2').datepicker({minDate: selected})
        }
    });

    $('#formTaskManagement #ftm-field2').datepicker({
        minDate: null,
        maxDate: dateToday,
        onSelect: function(selected) {
            $('#formTaskManagement #ftm-field1').datepicker({maxDate: selected})
        }
    });

Я тоже пробовал этот пост stackoverflow, но не был успешным.

Это просто не работает. Спасибо за чтение этого.

Теги:
datepicker

2 ответа

1

JQuery UI date Picker Значение minDate должно было быть строкой, не завершенной датой ИЛИ minDate также принимает объект даты. Но в вашем случае вы пытаетесь настроить mindate, используя date string а не как объект даты.

Попробуйте установить минимальную дату следующим образом:

$('#DatePicker').datepicker("option", "minDate", new Date(dateText));

Попробуйте этот код, возможно, это поможет вам достичь вашего goal-

var dateToday = new Date();
$('#txtDate1').datepicker({
    dateFormat: "yy-mm-dd",
    minDate: null,
    maxDate: dateToday,
     onSelect: function(selected) {
        $('#txtDate2').datepicker("option", "minDate",  $("#txtDate1").datepicker('getDate') )
     }
});

$('#txtDate2').datepicker({
    dateFormat: "yy-mm-dd",
    minDate: null,
    maxDate: dateToday,
}); 

Демо в скрипке

0

Вместо этого попробуйте закрыть.

onClose: function( selectedDate ) {
$( "#formTaskManagement #ftm-field1" ).datepicker( "option", "maxDate", selectedDate );

onClose: function( selectedDate ) {
$( "#formTaskManagement #ftm-field2" ).datepicker( "option", "minDate", selectedDate );

и сделать сегодня date как maxdate => maxDate: '0'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню