Привет всем!
есть код который скрывает/показывает поля, при загрузке страницы он скрывает поле загрузки файла(изначально выбран вариант при котором скрыто это поле), но при выборе другого способа оплаты код уже не работает.
Этот код я добавил в шапку сайта, при загрузке сайта первоначально выбран первый тип и так поля с загрузкой файла немедленно скрывается. Но с другими вариантами ничего не происходит с кодом. Я считаю, что существует своего рода внутренняя загрузка или AJAX загрузки самой платежной формы, и поэтому код на дальнейшем не работает. вы можете проверить его сейчас на сайте -
https://main.parovozchips.com/checkout
jQuery(document).ready(function($) {
function handlePaymentMethodChange() {
console.log('handlePayment');
var selectedPaymentMethod = $('input[name="transaction_type"]:checked').val();
var $addressField = $('#billing_address_2_field');
var $postcodeField = $('#billing_postcode_field');
var $fileUploadField = $('#billing_file_uload_field');
$addressField.hide();
$postcodeField.hide();
$fileUploadField.hide();
$addressField.find('input').prop('required', false);
$postcodeField.find('input').prop('required', false);
$fileUploadField.find('input[type="file"]').prop('required', false);
console.log(selectedPaymentMethod);
if (selectedPaymentMethod === 'type1') { console.log(1);
$addressField.show();
$postcodeField.show();
$addressField.find('input').prop('required', true);
$postcodeField.find('input').prop('required', true);
} else if (selectedPaymentMethod === 'type2') { console.log(2);
$fileUploadField.show();
$fileUploadField.find('input[type="file"]').prop('required', true);
} else { console.log(3); }
}
handlePaymentMethodChange();
$('input[name="transaction_type"]').change(handlePaymentMethodChange);
});