Пустое значение динамически генерируемого указателя даты - PullRequest
0 голосов
/ 27 ноября 2018

Я создаю указатель даты MaterializeCSS в случае успеха / ответа на запрос AJAX:

    $("#list-customers-button").click(function () {
        var selectedAcquirer = $("#acquirer-select").val();
        if (selectedAcquirer === "adyen") {
            if (listed) {
                listed = false;
                $("#customer-list-area").hide().html('').fadeIn(fadeTime);
            } else {
                listed = true;
                $.ajax({
                    type: "GET",
                    url: "/adyen_list_customers",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    beforeSend: function () {
                        $("#list-progress").show();
                    },
                    success: function (data) {
                        console.log(JSON.stringify(data));
// Here <<<<<<<<<<<<< Code comes from the server.
                        $("#customer-list-area").hide().html(data["response_html"]).fadeIn(fadeTime).promise().done(function() { 
                            $(".collapsible").collapsible();
                            resetDatepicker();
                            $("#file-download-progress").hide();
                        });

                    },
                    complete: function() {

                    },
                    error: function (data) {
                        displayMessage(data);
                    },
                });
            }
        } else if (selectedAcquirer === "stone") {
            displayMessage("Adquirente indisponível no momento.");
        } else {
            displayMessage("É necessário selecionar uma adquirente.");
        }
    });

Я сбрасываю все средства выбора даты, чтобы JS работал, и средство выбора даты работает нормально (вся интернационализация и т. Д.).Проблема в том, что когда я отправляю запрос на событие изменения, его значение становится пустым.

$(document).on("change", "#file-download-date-datepicker", function() {
    fileDownloadData = $("#file-download-form").serialize();
    displayMessage($("#file-download-date-datepicker").text());
    $.ajax({
        type: "POST",
        url: "/adyen_update_file_list_by_date",
        data: fileDownloadData,
        beforeSend: function () {
            $("#file-download-progress").show();
        },
        success: function (response, status, xhr) {
            $("#merchant-file-list").html(response);
        },
        complete: function (response) {
            $("#file-download-progress").hide();
        },
        error: function (response) {
            displayMessage(response["responseText"]);
        }
    });
});

Вот форма:

<form id='file-download-form'>
   <div class='input-field col s8'>
      <input id='file-download-date-datepicker' name='file-download-date' type='text' class='datepicker'>
      <label for='file-download-date'>Data</label>
   </div>
   <input id='file-download-pfj' name='file-download-pfj' type='text' value='{customer['pfj']}' hidden>
   <input id='file-download-merchant' name='file-download-merchant' type='text' value='{merchant}' hidden>
</form>

Это не имеет смысла, потому что другие входные данные работают нормально,Проблема именно с указателем даты, его значение не учитывается..val () возвращает пустое значение.Я подозреваю, что это потому, что я генерирую это динамически.Что странно, так это то, что его js работает нормально после его инициализации.

...