Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当月份有31天时,jQuery datepicker将不允许选择日期,并选择月份的第一天_Jquery_Datepicker - Fatal编程技术网

当月份有31天时,jQuery datepicker将不允许选择日期,并选择月份的第一天

当月份有31天时,jQuery datepicker将不允许选择日期,并选择月份的第一天,jquery,datepicker,Jquery,Datepicker,您好,我有两个日期选择器,第二个日期选择器不允许用户从第一个日期选择器的日期选择大于30天的日期 如果选择月中的某一天,或者如果我在一个月中选择的某一天的天数大于或小于31天,则此操作正常 但如果月份有31天,并且我选择了第一天,即2014年1月1日、2014年3月1日dd/MM/yyyy格式,则我无法选择任何日期 任何比我更有经验的人都能看出我哪里出了问题 $("#ArrivalDate").datepicker({ dateFormat: "dd/mm/yy", minDat

您好,我有两个日期选择器,第二个日期选择器不允许用户从第一个日期选择器的日期选择大于30天的日期

如果选择月中的某一天,或者如果我在一个月中选择的某一天的天数大于或小于31天,则此操作正常

但如果月份有31天,并且我选择了第一天,即2014年1月1日、2014年3月1日dd/MM/yyyy格式,则我无法选择任何日期

任何比我更有经验的人都能看出我哪里出了问题

$("#ArrivalDate").datepicker({
    dateFormat: "dd/mm/yy",
    minDate: 0,
    onSelect: function () {
        var dteMaxBookings = $('#ArrivalDate').datepicker('getDate');
        dteMaxBookings.setDate(dteMaxBookings.getDate() + 30);
        $('#DepartDate').datepicker('setDate', dteMaxBookings);              
        $('#DepartDate').datepicker('option', 'maxDate', dteMaxBookings);

        var dteMinBooking = $('#ArrivalDate').datepicker('getDate');
        dteMinBooking.setDate(dteMaxBookings.getDate() + 2);
        $('#DepartDate').datepicker('option', 'minDate', dteMinBooking);
    }
});

$('#DepartDate').datepicker({
    dateFormat: "dd/mm/yy",
    onClose: function () {
        calculate();
        var dteArrivalDate = $('#ArrivalDate').datepicker('getDate');
        var dteDepartDate = $('#DepartDate').datepicker('getDate');
        if (dteDepartDate <= dteArrivalDate) {
            var maxDate = $('#DepartDate').datepicker('option', 'maxDate');
            $('#DepartDate').datepicker('setDate', maxDate);
        }
    }
});

问题是因为您正在使用dteMaxBookings计算另一个日期选择器的minDate

将此更改为$ArrivalDate.datepicker。。。。onSelect:

为此:

现在,当minDate和maxDate为另一个dateipcker工作时,下面的onClose块是多余的

您可以从$'DepartDate'中删除此项。日期选择器….:


.

谢谢@abhitalks我花了很长时间看这个,但从来没有注意到我做了那个。谢谢你的帮助,祝你新年快乐
    var dteMinBooking = $('#ArrivalDate').datepicker('getDate');
    dteMinBooking.setDate(dteMaxBookings.getDate() + 2);   // dteMaxBookings ?
    $('#DepartDate').datepicker('option', 'minDate', dteMinBooking);
    var dteMinBooking = $('#ArrivalDate').datepicker('getDate');
    dteMinBooking.setDate(dteMinBooking.getDate() + 2);   // change to dteMinBooking
    $('#DepartDate').datepicker('option', 'minDate', dteMinBooking);
onClose: function () {
    var dteArrivalDate = $('#ArrivalDate').datepicker('getDate');
    var dteDepartDate = $('#DepartDate').datepicker('getDate');
    if (dteDepartDate <= dteArrivalDate) {
        var maxDate = $('#DepartDate').datepicker('option', 'maxDate');
        $('#DepartDate').datepicker('setDate', maxDate);
    }
}