@ilya_k

Как сделать необязательным заполнение поля индекс в случае выбора одного из вариантов доставки?

Добрый день, подскажите, как сделать необязательным заполнение к примеру поля индекс, для выбранного варианта доставки ?

Все варианты доставки сформированы стандартными средствами woocomerce, все они с фиксированной стоимостью, один из них - бесплатная доставка, переименован в "доставка по Москве", как сделать так, чтобы в случае выбора варианта доставки по Москве, поле индекс становилось не обязательным к заполнению, или вообще пропадало с экрана оформления заказа ?
ffbf34ce8a394e4d9550c71bbdb19ad0.png

+
1. Как сделать, чтобы чекбокс "зарегистрировать вас" был проставлен предварительно, на странице оформления заказа?
1.а. Как переименовать этот чекбокс ?
ee609d35d1614c14984258dabdd3f0b1.png
  • Вопрос задан
  • 1452 просмотра
Решения вопроса 1
ACode
@ACode
Наука и технологии — Это моё!
Убрать поле "Почтовый индекс" средствами WooComerce нельзя, как мне известно. Да и не надо! Мы же для удобства пользователя делаем. Вставь этот код в конец страницы footer.
<script type="text/javascript">
jQuery( function( $ ) {
	$('#createaccount').attr('checked', 'checked'); // "Регистрация" активное состояние по умолчанию
	$( document ).ajaxSuccess(function() { // Успешно отправлен Ajax запрос
	var bp = $('#billing_postcode');
		if ($('#shipping_method_0_free_shipping6').prop('checked')) { // Если выбрана Москва
			bp.val('101000'); // Назначаем почтовый индекс Москвы по умолчанию
			bp.attr('type', 'hidden'); // Скрываем input почтового индекса
			$('label[for="billing_postcode"]').css('display', 'none'); // Скрываем контейнер от пользователя
		} else if ($('#billing_postcode').attr('type') == 'hidden') { // Если выбрана НЕ Москва возвращаем поле почтовый индекс
			bp.val('');
			bp.attr('type', 'text');
			$('label[for="billing_postcode"]').css('display', 'block');
		}
	});
});
</script>

P.S. Знаю, что не любишь изменять код темы, но по другому вряд ли можно сделать.
P.S.S. Обновил код, чтобы установить пункт "Регистрация" в активное состояние по умолчанию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы