Я создаю указатель даты 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 работает нормально после его инициализации.