Я использую WordPress 4.5.3
и Woocommerce 2.6.2
.
Код внутри woocommerce / cart / cart.php
<input type="submit" class="button" id="update_cart_button" name="update_cart" value="<?php esc_attr_e( 'Update Cart', 'woocommerce' ); ?>" /> <?php do_action( 'woocommerce_cart_actions' ); ?> <?php wp_nonce_field( 'woocommerce-cart' ); ?>
Что генерирует следующий html:
<input type="submit" class="button" id="update_cart_button" name="update_cart" value="Winkelmand bijwerken" disabled=""> <input type="hidden" id="_wpnonce" name="_wpnonce" value="847e1da0f8"> <input type="hidden" name="_wp_http_referer" value="/winkelmand/">
Так странно, что внутри поля ввода добавлен атрибут «disabled». Когда я удаляю отключенное значение с помощью инструментов разработчика, я могу нажать кнопку, и тележка обновится правильно.
Поэтому я хочу удалить этот атрибут, что я пробовал:
Попытка 1
<script> document.getElementById('update_cart_button').disabled = false; </script>
Попытка 2
<script> jQuery('#update_cart_button').prop('disabled', false); </script>
Попытка 3
<script> jQuery('#update_cart_button').removeAttr('disabled'); </script>
но ни одно из решений не удаляет атрибут disabled.
Вы можете попробовать под кодом-
jQuery(document).ready(function() { jQuery( '.shop_table.cart' ).closest( 'form' ).find( 'input[name="update_cart"]' ).removeProp( 'disabled'); });
У меня была такая же проблема. Я думаю, что мой способ решить это не самый лучший, но он должен работать в течение времени, когда мы ждем патча, чтобы вы могли его услышать.
Войти в
WP-содержание / плагины / WooCommerce / активы / JS / интерфейс / cart.min.js
Это немного запутанно, но вы можете искать
.prop ( "отключено",! 0)}, input_changed
Измените ! 0 на a ! 1
Сохраните и загрузите файл после этого, кнопка снова будет работать нормально. есть одна проблема: функция, которая включает кнопку после изменения, была удалена, кнопка теперь всегда включена. Как будто я сказал, что временное решение после исправления не нуждается в дополнительных изменениях.
Приветствует Лукаса
Если вы хотите включить кнопку после изменения количества продуктов, вы можете сделать что-то вроде этого:
$(document).on("click",".woocommerce-cart .control-prod", function (e) { $( ".woocommerce-cart .control-prod" ).click(function() { $('input[name="update_cart"]' ).removeProp( 'disabled'); }); });
где элемент .control-prod – это место, где вы меняете количество продуктов. Вы также можете использовать изменения, внесенные кликом.
Этот код работает для меня:
jQuery (window) .on ('load', function () { jQuery ('.shop_table.cart') .find ('input [name = "update_cart"]') .prop ("disabled", false); });
Идеальное решение Уоллеса! Но на самом деле у него был недостаток, что он удалил свойство «disabled» только после двух кликов. Я обновил код, чтобы он работал eveytime, когда вы нажимаете + или –
Добавьте это в header.php между заголовками:
<script> $(document).on("click",".bw-quantity", function (e) { $('input[name="update_cart"]' ).removeProp( 'disabled'); }); </script>