Контактная форма 7 Datepicker: автоматически переключать дату после указанного времени дня - PullRequest
0 голосов
/ 15 марта 2019

Я использую контактную форму 7 в качестве инструмента бронирования для ресторана.Дата, когда вы можете забронировать столик, устанавливается на следующий день по умолчанию.Также бронирование на текущий день невозможно.

Я хочу, чтобы инструмент показывал текущую дату до 14:00 , а после 14:00 он автоматически переключается на дату следующего дня.Также это делает бронирование на сегодняшний день невозможным после 2 часов дня.настроить:

  <label> Personenanzahl *
    [select* res-number "1 Person" "2 Personen" "3 Personen" "4 Personen" "5 Personen" "6 Personen"] </label>

<label> Datum *
    [date* res-date id:datepicker min:today] </label>

<div class="vc_col-sm-6 padding-column"><label> Start *
    [select* res-start id:start-time "17:00" "17:15" "17:30" "17:45" "18:00" "18:15" "18:30" "18:45" 
    "19:00" "19:15" "19:30" "19:45" "20:00" "20:15" "20:30" "20:45" "21:00" "21:15" "21:30" "21:45" 
    "22:00" "22:15" "22:30" "22:45" "23:00" "23:15" "23:30" "23:45" "00:00" "00:15" "00:30" "00:45" 
    "01:00"] </label></div>

<div class="vc_col-sm-6 padding-column"><label> Ende *
    [select* res-end id:end-time "17:00" "17:15" "17:30" "17:45" "18:00" "18:15" "18:30" "18:45" 
    "19:00" "19:15" "19:30" "19:45" "20:00" "20:15" "20:30" "20:45" "21:00" "21:15" "21:30" "21:45" 
    "22:00" "22:15" "22:30" "22:45" "23:00" "23:15" "23:30" "23:45" "00:00" "00:15" "00:30" "00:45" 
    "01:00"] </label></div>

<label> Name *
    [text* res-name] </label>

<label> Telefon *
    [tel* res-tel] </label>

<label> E-Mail Adresse *
    [email* res-email] </label>

[submit "Senden"]

И это дополнительный код, который реализован на сайте:

<script type="text/javascript">
// initialize datepicker
var datepicker = jQuery('#datepicker');
var today = new Date();
var tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
var dd = today.getDate();
var mm = today.getMonth()+1; // January is 0!
var yyyy = today.getFullYear();
var tomday = tomorrow.getDate();
var tommonth = tomorrow.getMonth() + 1;
var tomyear = tomorrow.getFullYear();
if(tomday<10){tomday='0'+tomday} if(tommonth<10){tommonth='0'+tommonth} tomorrow = tomyear+'-'+tommonth+'-'+tomday;
jQuery(datepicker).attr('value', tomorrow);

// initialize time boxes
var startTimeBox = jQuery('#start-time')[0];
var endTimeBox = jQuery('#end-time')[0];
jQuery(startTimeBox).val("17:00");
jQuery(endTimeBox).val("18:45");

// handling of time changes
jQuery(startTimeBox).change(function (event) {
    var startTimeValue = event.currentTarget.value;
    var startHour = Number(startTimeValue.slice(0,2));
    var startMinute = Number(startTimeValue.slice(3,5));
    var endHour = 0;
    var endMinute = 0;

    if ((startHour == 23) || (startHour == 0) || (startHour == 1)) {
        if ((startHour == 23) && (startMinute == 0)) {
            endHour = 0;
            endMinute = 45;
        } else {
            endHour = 1;
            endMinute == 0;
        }
    } else {
        if (startMinute == 0) {
            endHour = startHour + 1;
            endMinute = 45;
        } else if (startMinute == 15) {
            endHour = startHour + 2;
            endMinute = 0;
        } else if (startMinute == 30) {
            endHour = startHour + 2;
            endMinute = 15;
        } else if (startMinute == 45) {
            endHour = startHour + 2;
            endMinute = 30;
        }
        if (endHour == 24) {
            endHour = 0;
        }
    }

    if (endHour == 24) {
        endHour = 0;
    }

    var endHourString = endHour.toString();
    var endMinuteString = endMinute.toString();

    if (endHourString.length == 1) {
        endHourString = "0" + endHourString;
    }
    if (endMinuteString.length == 1) {
        endMinuteString = "0" + endMinuteString;
    }

    var endTimeString = endHourString + ":" + endMinuteString;

    jQuery(endTimeBox).val(endTimeString);
});
</script>

Большое спасибо!

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете использовать контактный плагин выбора формы 7, его легко и удобно использовать для поиска времени и даты curent tim

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...