PHP AJAX Jquery календарь нужно сбросить значения beforeShowDay? - PullRequest
0 голосов
/ 25 марта 2020

У меня есть запрос ajax, который передает большой одиночный массив, полный дат, из файла php ("get-date. php") после того, как был сделан выбор выпадающего списка.

Код, который у меня есть, теперь определяет доступные даты в календаре на основе дат в массиве, которые возвращаются из ответа ajax JSON. Однако, если я выберу другой выпадающий элемент, он не изменится на новый набор доступных дат.

Вот код:

<option value="">Select Station</option>
<select name="station" class="form-control" id="station">
<?php 
    echo '<option value="'."1".'">'."1".'</option>';
    echo '<option value="'."2".'">'."2".'</option>';
    echo '<option value="'."3".'">'."3".'</option>';
?>
</select>
<p>Date: <input data-validation="date" data-validation-format="dd-mm-yyyy" id="datepicker" value="Pick Station" readonly="readonly"></p>
function load_data(station) {
    $.ajax({
        url:"get-dates.php",
        method:"POST",
        //station is value of dropDown value selected
        data:{stationSelect:station},
        dataType:"JSON",
        success:function(data) {
            console.log("successful AJAX call");
            console.log(data);

            function available(date) {
                dmy = date.getDate() + "/" + (date.getMonth()+1) + "/" + date.getFullYear();
                if ($.inArray(dmy, data) != -1) {
                    return [true, "","Available"];
                } else {
                    return [false,"","unAvailable"];
                }
            }
            //calendar date selection
            $(function() {
                $("#datepicker").datepicker({
                    beforeShowDay: available,
                    changeMonth: true,
                    changeYear: true,
                    dateFormat: "dd/mm/yy",
                });
            });
        }
    });
}

$(document).ready(function(){

    $('#station').change (function(){
        var station = $(this).val();
        if(station != '')
        {
            load_data(station);
        }
    });
});

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