Задача такая, есть чекбокс по которому идет проверка, в случае если чекбокс тру, то нужно скрыть некоторые поля способа оплаты и поставить радиа-кнопку на нужное место.
С помощью jquery я дотягиваюсь до нужного элемента и вывожу его, но при изменении его свойств ничего не происходит. Причем в инспекторе кода этот же элемент можно скрыть через дисплей нон.
мой код
верстка штатная
UPDATE:
вывод css свойсва дисплей до изменения = block
после изменения = none, так же при выводе объекта в теге label присутствует style="display:none", но в верстке его по прежнему нет
UPDATE:
Все срабатывает, нужyный метод оплаты скрывается, но сразу же происходит перезагрузка методов оплаты и он появляется по новой. Как отменить перезагрузку по чекбоксу? Страница "checkout". Нужно отменить "?wc-ajax=update_order_review" Или есть другие варианты?
С помощью jquery я дотягиваюсь до нужного элемента и вывожу его, но при изменении его свойств ничего не происходит. Причем в инспекторе кода этот же элемент можно скрыть через дисплей нон.
мой код
JavaScript:
jQuery(document).ready(function() {
jQuery("label[for='payment_method_cheque']").css('display', 'none')
})
верстка штатная
HTML:
<div id="payment" class="woocommerce-checkout-payment">
<ul class="wc_payment_methods payment_methods methods">
<li class="wc_payment_method payment_method_bacs">
<input id="payment_method_bacs" class="input-radio" name="payment_method" value="bacs" checked="checked" data-order_button_text="" type="radio">
<label for="payment_method_bacs">
Прямой банковский перевод </label>
<div class="payment_box payment_method_bacs">
<p>Оплату нужно направлять напрямую на наш банковский счет. Используйте идентификатор заказа в качестве кода платежа. Заказ будет отправлен после поступления средств на наш счет.</p>
</div>
</li>
<li class="wc_payment_method payment_method_cheque">
<input id="payment_method_cheque" class="input-radio" name="payment_method" value="cheque" data-order_button_text="" type="radio">
<label for="payment_method_cheque">
Чековые платежи </label>
<div class="payment_box payment_method_cheque" style="display:none;">
<p>Пожалуйста, отправьте ваш чек, указав данные магазина: название, улицу, город, область/регион, страну, почтовый индекс.</p>
</div>
</li>
<li class="wc_payment_method payment_method_paymaster">
<input id="payment_method_paymaster" class="input-radio" name="payment_method" value="paymaster" data-order_button_text="" type="radio">
<label for="payment_method_paymaster">
paymaster <img src="http://shop.lc/wp-content/plugins/woocommerce-paymaster-gateway-019/img/paymaster.png" alt="paymaster"> </label>
<div class="payment_box payment_method_paymaster" style="display:none;">
<p>Оплата с помощью paymaster.</p>
</div>
</li>
</ul>
<div class="form-row place-order">
<noscript>
Поскольку ваш браузер не поддерживает JavaScript или в нем он отключен, просим убедиться в том, что вы нажали кнопку <em>Обновить итог</em> перед регистрацией заказа. Иначе, есть риск неправильного подсчета стоимости. <br/><button type="submit" class="button alt" name="woocommerce_checkout_update_totals" value="Обновить итог">Обновить итог</button>
</noscript>
<button type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" value="Подтвердить заказ" data-value="Подтвердить заказ">Подтвердить заказ</button>
<input id="_wpnonce" name="_wpnonce" value="f9142a6117" type="hidden"><input name="_wp_http_referer" value="/?wc-ajax=update_order_review" type="hidden"> </div>
</div>
UPDATE:
вывод css свойсва дисплей до изменения = block
после изменения = none, так же при выводе объекта в теге label присутствует style="display:none", но в верстке его по прежнему нет
UPDATE:
Все срабатывает, нужyный метод оплаты скрывается, но сразу же происходит перезагрузка методов оплаты и он появляется по новой. Как отменить перезагрузку по чекбоксу? Страница "checkout". Нужно отменить "?wc-ajax=update_order_review" Или есть другие варианты?
Последнее редактирование: