isinvaliddate daterangepicker блокировать все дни, кроме понедельника пятница - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь заблокировать определенные даты на устройстве выбора даты, я пробовал разные способы, и они действительно блокируют определенные дни, но это означает, что мой диапазон дат находится в одном текстовом поле с полной датой и временем (пример ниже). Как мне это сделать и убедиться, что он работает, как и ожидалось, с помощью простого дд-мм-гггг через 2 поля для ввода в книгу, пожалуйста? booking field

Мой 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>

Кто-нибудь предлагает платная услуга, если это выходит за рамки бесплатного ответа, пожалуйста?

...