Я пытаюсь заблокировать определенные даты на устройстве выбора даты, я пробовал разные способы, и они действительно блокируют определенные дни, но это означает, что мой диапазон дат находится в одном текстовом поле с полной датой и временем (пример ниже). Как мне это сделать и убедиться, что он работает, как и ожидалось, с помощью простого дд-мм-гггг через 2 поля для ввода в книгу, пожалуйста? ![booking field](https://i.stack.imgur.com/axHvl.png)
Мой javascript выглядит так
function check_in_out_enable2(in_date, out_date) {
var today, prev_date,read_in_date,date_format,calendar_opens;
today = new Date();
date_format = control_vars.date_format.toUpperCase();
today = moment(today).format("MM/DD/YYYY");
minim_days = parseFloat (min_days_booking,10);
calendar_opens = 'left';
if(jQuery('#primary').hasClass('col-md-pull-8')){
calendar_opens = 'right';
}
jQuery("#" + in_date).attr('readonly','readonly');
var options = {
opens:calendar_opens,
singleDatePicker: false,
autoApply: true,
alwaysShowCalendars: true,
autoUpdateInput: false,
minDate:today,
locale:{
daysOfWeek:dayNamesShort,
monthNames:longmonths
},
isCustomDate:wpestate_booking_show_booked,
};
// set minimum days
if(minim_days!==0){
options.minSpan= {
"days": minim_days
};
}
var date_format = control_vars.date_format.toUpperCase();
date_format=date_format.replace("YY", "YYYY");
var in_date_front = jQuery('#' + in_date);
var out_date_front = jQuery('#' + out_date);
jQuery("#" + out_date).removeAttr('disabled');
var calendar= jQuery("#" + in_date).daterangepicker(
options,
function (start, end, label) {
start_date = start.format(date_format);
end_date = end.format(date_format);
in_date_front.val(start_date);
out_date_front.val(end_date);
who_is=1;
booking_started=1;
jQuery('.wpestate_calendar').removeClass('minim_days_reservation').removeClass('wpestate_min_days_required');
var prop_id=jQuery('#listing_edit').val();
wpestate_setCookie('booking_prop_id_cookie', prop_id , 1);
wpestate_setCookie('booking_start_date_cookie', jQuery('#start_date').val() , 1);
wpestate_setCookie('booking_end_date_cookie', jQuery('#end_date').val() , 1);
show_booking_costs();
}
);
jQuery("html").on("mouseenter",".wpestate_booking_class", function() {
var unit_class = jQuery(this).attr('class');
unit_class = unit_class.match(/\d+/);
jQuery(this).find('.wpestate_show_price_calendar').show();
if(who_is===1){
wpestate_show_min_days_reservation(unit_class);
}
});
jQuery("html").on("mouseleave",".wpestate_booking_class", function() {
jQuery(this).find('.wpestate_show_price_calendar').hide();
wpestate_remove_min_days_reservation(this);
});
}
HTML выглядит так
<div class="booking_form_request
<?php
if($wpestate_options['sidebar_class']=='' || $wpestate_options['sidebar_class']=='none' ){
print ' col-md-4 ';
}else{
print esc_attr($wpestate_options['sidebar_class']);
}
?>
" id="booking_form_request">
<div id="booking_form_request_mess"></div>
<h3 ><?php esc_html_e('Book Now','wprentals');?></h3>
<div class="has_calendar calendar_icon">
<input type="text" id="start_date" placeholder="<?php echo wpestate_show_labels('check_in',$rental_type); ?>" class="form-control calendar_icon" size="40" name="start_date"
value="<?php if( isset($_GET['check_in_prop']) ){
echo sanitize_text_field ( $_GET['check_in_prop'] );
}
?>">
</div>
<div class=" has_calendar calendar_icon">
<input type="text" id="end_date" disabled placeholder="<?php echo wpestate_show_labels('check_out',$rental_type); ?>" class="form-control calendar_icon" size="40" name="end_date"
value="<?php if( isset($_GET['check_out_prop']) ){
echo sanitize_text_field ( $_GET['check_out_prop'] );
}
?>">
</div>
<?php
$max_guest = get_post_meta($post_id,'guest_no',true);
if($rental_type==0){
?>
<div class=" has_calendar guest_icon ">
<?php
print '
<div class="dropdown form-control">
<div data-toggle="dropdown" id="booking_guest_no_wrapper" class="filter_menu_trigger" data-value="';
if(isset($_GET['guest_no_prop']) && $_GET['guest_no_prop']!=''){
echo esc_html( $_GET['guest_no_prop'] );
}else{
echo 'all';
}
print '">';
print '<div class="text_selection">';
if(isset($_GET['guest_no_prop']) && $_GET['guest_no_prop']!=''){
echo esc_html( $_GET['guest_no_prop'] ).' '.esc_html__( 'guests','wprentals');
}else{
esc_html_e('Guests','wprentals');
}
print '</div>';
print '<span class="caret caret_filter"></span>
</div>
<input type="hidden" name="booking_guest_no" value="">
<ul class="dropdown-menu filter_menu" role="menu" aria-labelledby="booking_guest_no_wrapper" id="booking_guest_no_wrapper_list">
'.$guest_list.'
</ul>
</div>';//escaped above
?>
</div>
<?php
}else{
?>
<input type="hidden" name="booking_guest_no" value="1">
<?php
}
// shw extra options
wpestate_show_extra_options_booking($post_id)
?>
<p class="full_form " id="add_costs_here"></p>
<input type="hidden" id="listing_edit" name="listing_edit" value="<?php print intval($post_id);?>" />
<?php wpestate_show_booking_button($post_id);?>
<div class="third-form-wrapper">
<div class="col-md-6 reservation_buttons">
<div id="add_favorites" class=" <?php print esc_attr($favorite_class);?>" data-postid="<?php esc_attr(the_ID());?>">
<?php print trim($favorite_text);?>
</div>
</div>
<div class="col-md-6 reservation_buttons">
<div id="contact_host" class="col-md-6" data-postid="<?php esc_attr(the_ID());?>">
<?php esc_html_e('Contact Owner','wprentals');?>
</div>
</div>
</div>
<?php
echo wpestate_share_unit_desing($post_id);
?>
</div>
</div>
</div>
Кто-нибудь предлагает платная услуга, если это выходит за рамки бесплатного ответа, пожалуйста?