JQuery UI日期选择器卡住

JQuery UI日期选择器卡住,jquery,jquery-ui,Jquery,Jquery Ui,我们有一个自定义编码的jQueryUIDatePicker,它允许获取元素并将其提交到可用性表单。问题是表单一直被锁定以显示9月30日,我已将当前日期变量设置回今年5月,之前的日期可单击,但月份不会改变,显示8月和9月,9月30日变灰,其余日期可单击。目前,它正在拉网站上的当前日期,因此没有任何东西是可点击的,但仍然停留在9月30日显示 网站: 任何帮助都将不胜感激 <div class="current_date"><?php echo date('Y-m-d'); ?&g

我们有一个自定义编码的jQueryUIDatePicker,它允许获取元素并将其提交到可用性表单。问题是表单一直被锁定以显示9月30日,我已将当前日期变量设置回今年5月,之前的日期可单击,但月份不会改变,显示8月和9月,9月30日变灰,其余日期可单击。目前,它正在拉网站上的当前日期,因此没有任何东西是可点击的,但仍然停留在9月30日显示

网站:

任何帮助都将不胜感激

<div class="current_date"><?php echo date('Y-m-d'); ?>-</div>

            <script>
                $(document).ready(function() {

                    if (!String.prototype.startsWith) {
                      String.prototype.startsWith = function(searchString, position) {
                        position = position || 0;
                        return this.indexOf(searchString, position) === position;
                      };
                    }

                    if (!$('#date').hasClass('options_button_deactive')) {
                        start_date_check = $('.current_date').text();

                        start_date_check = start_date_check.split('-');

                        start_date_check_year = start_date_check[0];
                        start_date_check_month = start_date_check[1];
                        start_date_check_day = start_date_check[2];

                        start_date = $('#booking_form > .content > form > #park > .options_wrapper_holder > .options_wrapper > .label_selected').children('.start_date').text();
                        start_date = start_date.split('-');

                        start_date_year = start_date[0];
                        start_date_month = start_date[1];
                        start_date_day = start_date[2];

                        if (start_date_check_year > start_date_year) {
                            start_date_year = start_date_check_year;
                            start_date_month = start_date_check_month;
                            start_date_day = start_date_check_day;
                        } else if (start_date_check_year == start_date_year && start_date_check_month > start_date_month) {
                            start_date_year = start_date_check_year;
                            start_date_month = start_date_check_month;
                            start_date_day = start_date_check_day;
                        } else if (start_date_check_year == start_date_year && start_date_check_month == start_date_month && start_date_check_day > start_date_day) {
                            start_date_year = start_date_check_year;
                            start_date_month = start_date_check_month;
                            start_date_day = start_date_check_day;
                        }

                        if (start_date_day.startsWith('0')) {
                            start_date_day = start_date_day.substr(1);
                        }

                        start_date_day = parseInt(start_date_day, 10);

                        if (start_date_month.startsWith('0')) {
                            start_date_month = start_date_month.substr(1);
                        }

                        start_date_month = parseInt(start_date_month, 10);

                        end_date = $('#booking_form > .content > form > #park > .options_wrapper_holder > .options_wrapper > .label_selected').children('.end_date').text();
                        end_date = end_date.split('-');

                        end_date_year = end_date[0];
                        end_date_month = end_date[1];
                        end_date_day = end_date[2];

                        if (end_date_day.startsWith('0')) {
                            end_date_day = end_date_day.substr(1);
                        }

                        end_date_day = parseInt(end_date_day, 10);

                        if (end_date_month.startsWith('0')) {
                            end_date_month = end_date_month.substr(1);
                        }

                        end_date_month = parseInt(end_date_month, 10);

                        $("#date .datepicker").empty();
                        $("#date .datepicker").removeClass('hasDatepicker');
                        $("#date .datepicker").removeAttr('id');

                        selected_date = $('#input1').val();
                        if (selected_date != '') {
                            selected_date = selected_date.split('/');

                            default_month = selected_date[0];
                            default_day = selected_date[1];

                            if (default_day.startsWith('0')) {
                                default_day = default_day.substr(1);
                            }

                            default_day = parseInt(default_day, 10);

                            if (default_month.startsWith('0')) {
                                default_month = default_month.substr(1);
                            }

                            default_month = parseInt(default_month, 10);
                        } else {
                            default_month = start_date_month;
                            default_day = start_date_day;
                        }

                        $("#date .datepicker").datepicker({
                            minDate: new Date(start_date_year, start_date_month - 1, start_date_day),
                            maxDate: new Date(end_date_year, end_date_month - 1, end_date_day),

                            //dateFormat: 'yy-mm-dd',
                            defaultDate: start_date_year+'-'+default_month+'-'+default_day,

                            numberOfMonths: [1,2],
                            beforeShowDay: function(date) {
                                var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input1").val());
                                var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input2").val());
                                return [true, date1 && ((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) ? "dp-highlight" : ""];
                            },
                            onSelect: function(dateText, inst) {
                                var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input1").val());
                                var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input2").val());
                                var selectedDate = $.datepicker.parseDate($.datepicker._defaults.dateFormat, dateText);

                                if (!date1 || date2) {
                                    $("#date #input1").val(dateText);

                                    get_dateText = dateText.split('/');
                                    $('#SDay').empty().val(get_dateText[1]);
                                    $('#SMonth').empty().val(get_dateText[0]);
                                    $('#SYear').empty().val(get_dateText[2]);

                                    $("#date #input2").val("");

                                    $('#EDay').empty().val();
                                    $('#EMonth').empty().val();
                                    $('#EYear').empty().val();

                                    $(this).datepicker();
                                } else if( selectedDate < date1 ) {
                                    $("#date #input2").val( $("#date #input1").val() );
                                    $("#date #input1").val( dateText );

                                    get_dateText = dateText.split('/');
                                    $('#SDay').empty().val(get_dateText[1]);
                                    $('#SMonth').empty().val(get_dateText[0]);
                                    $('#SYear').empty().val(get_dateText[2]);
                                    $('#EDay').empty().val(get_dateText[1]);
                                    $('#EMonth').empty().val(get_dateText[0]);
                                    $('#EYear').empty().val(get_dateText[2]);

                                    $(this).datepicker();
                                } else {
                                    $("#date #input2").val(dateText);

                                    get_dateText = dateText.split('/');
                                    $('#SDay').empty().val(get_dateText[1]);
                                    $('#SMonth').empty().val(get_dateText[0]);
                                    $('#SYear').empty().val(get_dateText[2]);
                                    $('#EDay').empty().val(get_dateText[1]);
                                    $('#EMonth').empty().val(get_dateText[0]);
                                    $('#EYear').empty().val(get_dateText[2]);

                                    $(this).datepicker();
                                }

                                date1 = $('#date #input1').val();

                                if (date1 != '') {
                                    date1 = date1.split('/');

                                    $('#SDay').empty().val(date1[1]);
                                    $('#SMonth').empty().val(date1[0]);
                                    $('#SYear').empty().val(date1[2]);

                                    date1 = date1[1]+'/'+date1[0]+'/'+date1[2];

                                    $('#arrival').addClass('mobile_date_button_selected');
                                    $('#departure').removeClass('mobile_date_button_selected');
                                }

                                date2 = $('#date #input2').val();

                                if (date2 != '') {
                                    date2 = date2.split('/');

                                    $('#EDay').empty().val(date2[1]);
                                    $('#EMonth').empty().val(date2[0]);
                                    $('#EYear').empty().val(date2[2]);

                                    date2 = date2[1]+'/'+date2[0]+'/'+date2[2];
                                    $('#departure').addClass('mobile_date_button_selected');
                                } else {
                                    date2 = '<span class="departure">Depart</span>'
                                }

                                $('#date .options_wrapper_holder').toggleClass('date_open');

                                if (window.matchMedia('(min-width: 601px)').matches) {
                                    $('#date .name').empty().append(date1 + ' - ' + date2);
                                } else {
                                    if (date1 != '') {
                                        $('#arrival').empty().append('Arr: '+date1);
                                    }

                                    if (date2 != '') {
                                        $('#departure').empty().append('Dep: '+date2);
                                    }
                                }
                            }
                        });
                    }

                    $('#park > .options_wrapper_holder > .options_wrapper > label').click(function(){

                        $('#booking_form > .content > form > #date, #booking_form > .content > form > #arrival, #booking_form > .content > form > #departure').removeClass('options_button_deactive');

                        start_date_check = $('.current_date').text();

                        start_date_check = start_date_check.split('-');

                        start_date_check_year = start_date_check[0];
                        start_date_check_month = start_date_check[1];
                        start_date_check_day = start_date_check[2];

                        start_date = $(this).children('.start_date').text();
                        start_date = start_date.split('-');

                        start_date_year = start_date[0];
                        start_date_month = start_date[1];
                        start_date_day = start_date[2];

                        if (start_date_check_year > start_date_year) {
                            start_date_year = start_date_check_year;
                            start_date_month = start_date_check_month;
                            start_date_day = start_date_check_day;
                        } else if (start_date_check_year == start_date_year && start_date_check_month > start_date_month) {
                            start_date_year = start_date_check_year;
                            start_date_month = start_date_check_month;
                            start_date_day = start_date_check_day;
                        } else if (start_date_check_year == start_date_year && start_date_check_month == start_date_month && start_date_check_day > start_date_day) {
                            start_date_year = start_date_check_year;
                            start_date_month = start_date_check_month;
                            start_date_day = start_date_check_day;
                        }

                        if (start_date_day.startsWith('0')) {
                            start_date_day = start_date_day.substr(1);
                        }

                        start_date_day = parseInt(start_date_day, 10);

                        if (start_date_month.startsWith('0')) {
                            start_date_month = start_date_month.substr(1);
                        }

                        start_date_month = parseInt(start_date_month, 10);


                        end_date = $(this).children('.end_date').text();
                        end_date = end_date.split('-');

                        end_date_year = end_date[0];
                        end_date_month = end_date[1];
                        end_date_day = end_date[2];

                        if (end_date_day.startsWith('0')) {
                            end_date_day = end_date_day.substr(1);
                        }

                        end_date_day = parseInt(end_date_day, 10);

                        if (end_date_month.startsWith('0')) {
                            end_date_month = end_date_month.substr(1);
                        }

                        end_date_month = parseInt(end_date_month, 10);


                        $("#date .datepicker").empty();
                        $("#date .datepicker").removeClass('hasDatepicker');
                        $("#date .datepicker").removeAttr('id');

                        $("#date .datepicker").datepicker({
                            minDate: new Date(start_date_year, start_date_month - 1, start_date_day),
                            maxDate: new Date(end_date_year, end_date_month - 1, end_date_day),

                            numberOfMonths: [1,2],
                            beforeShowDay: function(date) {
                                var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input1").val());
                                var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input2").val());
                                return [true, date1 && ((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) ? "dp-highlight" : ""];
                            },
                            onSelect: function(dateText, inst) {
                                var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input1").val());
                                var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date #input2").val());
                                var selectedDate = $.datepicker.parseDate($.datepicker._defaults.dateFormat, dateText);

                                if (!date1 || date2) {
                                    $("#date #input1").val(dateText);

                                    get_dateText = dateText.split('/');
                                    $('#SDay').empty().val(get_dateText[1]);
                                    $('#SMonth').empty().val(get_dateText[0]);
                                    $('#SYear').empty().val(get_dateText[2]);

                                    $("#date #input2").val("");

                                    $('#EDay').empty().val();
                                    $('#EMonth').empty().val();
                                    $('#EYear').empty().val();

                                    $(this).datepicker();
                                } else if( selectedDate < date1 ) {
                                    $("#date #input2").val( $("#date #input1").val() );
                                    $("#date #input1").val( dateText );

                                    get_dateText = dateText.split('/');
                                    $('#SDay').empty().val(get_dateText[1]);
                                    $('#SMonth').empty().val(get_dateText[0]);
                                    $('#SYear').empty().val(get_dateText[2]);
                                    $('#EDay').empty().val(get_dateText[1]);
                                    $('#EMonth').empty().val(get_dateText[0]);
                                    $('#EYear').empty().val(get_dateText[2]);

                                    $(this).datepicker();
                                } else {
                                    $("#date #input2").val(dateText);

                                    get_dateText = dateText.split('/');
                                    $('#SDay').empty().val(get_dateText[1]);
                                    $('#SMonth').empty().val(get_dateText[0]);
                                    $('#SYear').empty().val(get_dateText[2]);
                                    $('#EDay').empty().val(get_dateText[1]);
                                    $('#EMonth').empty().val(get_dateText[0]);
                                    $('#EYear').empty().val(get_dateText[2]);

                                    $(this).datepicker();
                                }

                                date1 = $('#date #input1').val();

                                if (date1 != '') {
                                    date1 = date1.split('/');

                                    $('#SDay').empty().val(date1[1]);
                                    $('#SMonth').empty().val(date1[0]);
                                    $('#SYear').empty().val(date1[2]);

                                    date1 = date1[1]+'/'+date1[0]+'/'+date1[2];

                                    $('#arrival').addClass('mobile_date_button_selected');
                                    $('#departure').removeClass('mobile_date_button_selected');
                                }

                                date2 = $('#date #input2').val();

                                if (date2 != '') {
                                    date2 = date2.split('/');

                                    $('#EDay').empty().val(date2[1]);
                                    $('#EMonth').empty().val(date2[0]);
                                    $('#EYear').empty().val(date2[2]);

                                    date2 = date2[1]+'/'+date2[0]+'/'+date2[2];
                                    $('#departure').addClass('mobile_date_button_selected');
                                } else {
                                    date2 = '<span class="departure">Depart</span>'
                                }

                                $('#date .options_wrapper_holder').toggleClass('date_open');

                                if (window.matchMedia('(min-width: 601px)').matches) {
                                    $('#date .name').empty().append(date1 + ' - ' + date2);
                                } else {
                                    if (date1 != '') {
                                        $('#arrival').empty().append('Arr: '+date1);
                                    }

                                    if (date2 != '') {
                                        $('#departure').empty().append('Dep: '+date2);
                                    }
                                }
                            }
                        });
                    });

                    $('#booking_form form').delegate('.check_button, .update_button', 'click', function(){
                        $('#park, #accommodation, #date').removeClass('booking_error');

                        <?php
                            perch_content_create('Booking Form Settings',array(
                                'template' => 'booking_errors.html',
                                'shared' => true
                            ));

                            perch_content('Booking Form Settings');
                        ?>

                        $('#alert .button').click(function(){
                            $('#alert').removeClass('open');
                        });
                    });
                });
            </script>
-
$(文档).ready(函数(){
if(!String.prototype.startsWith){
String.prototype.startsWith=函数(searchString,position){
位置=位置| | 0;
返回此.indexOf(searchString,position)==position;
};
}
if(!$('date').hasClass('options_button_deactive')){
开始日期检查=$('.current_date').text();
开始日期检查=开始日期检查。拆分('-');
开始日期检查年份=开始日期检查[0];
开始日期检查月=开始日期检查[1];
开始日期检查日期=开始日期检查[2];
开始日期=$('.'预订表格>内容>表格>公园>选项包装盒>选项包装盒>标签选定')。子项('.开始日期')。文本();
开始日期=开始日期。拆分('-');
开始日期年=开始日期[0];
开始日期月=开始日期[1];
开始日期=开始日期[2];
如果(开始日期检查年>开始日期年){
开始日期年=开始日期年;
开始日期月=开始日期月;
开始日期日期=开始日期检查日期;
}否则如果(开始日期检查年份==开始日期检查年份和开始日期检查月份>开始日期检查月份){
开始日期年=开始日期年;
开始日期月=开始日期月;
开始日期日期=开始日期检查日期;
}否则如果(开始日期检查年==开始日期检查年和开始日期检查月==开始日期检查月和开始日期检查日>开始日期检查日){
开始日期年=开始日期年;
开始日期月=开始日期月;
开始日期日期=开始日期检查日期;
}
如果(开始日期开始日期('0')){
开始日期=开始日期。substr(1);
}
开始日期=parseInt(开始日期,10);
如果(开始日期开始月份('0')){
开始日期月=开始日期月。substr(1);
}
开始日期月=parseInt(开始日期月,10);
end_date=$('#booking_form>.content>form>#park>.options_wrapper_holder>.options_wrapper>.label_selected')。子项('.end_date').text();
结束日期=结束日期。拆分('-');
结束日期结束年份=结束日期[0];
结束日期月=结束日期[1];
结束日期=结束日期[2];
if(结束日期开始日期('0')){
结束日期=结束日期。substr(1);
}
结束日期=parseInt(结束日期,10);
如果(结束日期开始月份('0')){
结束日期月=结束日期月。substr(1);
}
结束日期月=parseInt(结束日期月,10);
$(“#date.datepicker”).empty();
$(“#date.datepicker”).removeClass('hasDatepicker');
$(“#date.datepicker”).removeAttr('id');
选定的_日期=$('#输入1').val();
如果(所选日期!=''){
selected_date=selected_date.split('/');
默认月份=所选日期[0];
默认日期=所选日期[1];
if(默认的\u day.startsWith('0')){
default_day=default_day.substr(1);
}
default_day=parseInt(缺省_day,10);
if(默认的月份开始('0')){
默认月份=默认月份。substr(1);
}
默认月份=parseInt(默认月份,10);
}否则{
默认月份=开始日期月份;
默认日期=开始日期;
}
$(“#date.datepicker”).datepicker({
minDate:新日期(开始日期年,开始日期月-1,开始日期日),
maxDate:新日期(结束日期年、结束日期月-1、结束日期日),
//日期格式:'年-月-日',
defaultDate:start_date_year+'-'+default_month+'-'+default_day,
月数:[1,2],
beforeShowDay:功能(日期){
var date1=$.datepicker.parseDate($.datepicker.u defaults.dateFormat,$(“#date#input1”).val());