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