• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Решено Выделить фон выбранного способа доставки

Image CMS

Igorsrt

Форумчанин
#1
Здравствуйте!
Нужно выделять фон выбранного радиокнопкой способа доставки... мучаюсь второй день (
1. Пробовал через :checked
.woocommerce ul#shipping_method li input:checked + label {background: #dedede;} - меняется фон только у заголовка, а нужно выделять весь блок... Как это "распространить" на весь блок, ума не приложу...

2. Можно попробовать добавить css класс к выбираемому элементу через php или js. Но как это правильно делается? пробовал:
<script>
$('#shipping_method').click(function(){
if($(this).is(":checked")) {
$(this).addClass("checked");
} else {
$(this).removeClass("checked");
}
});
</script>
- не получается
 

Igorsrt

Форумчанин
#2
Добрые люди подсказали наконец-то код:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(function(){
$('li').click(function() {
$(this).siblings().add(this).each(function(indx, el){
if ($('input',el)[0].checked) {
$(this).addClass('selected');
} else {
$(this).removeClass('selected');
} });
})
$("li input:checked").parent().click();
})
</script>
Еще оказалось, что я вставлял скрипт не туда. Я вставлял в файл form-checkout.php (что на мой взгляд совершенно логично, т.к. этот файл выводит конечную страницу регистрации), а "заработало" так: для способов доставки в cart-shipping.php, для способов оплаты в payment.php...
То что один и тот же скрипт вызывается на одной странице в разных местах, я считаю не правильно. Поэтому не считаю проблему до конца решенной.( Если кто разбирается в js и woocommerce, помогите пожалуйста.