Установите значение поля ввода в 0 с помощью функции wordpress - PullRequest
0 голосов
/ 08 ноября 2019

Я использую WordPress и WooCommerce для веб-сайта.

У меня есть продукт, который создает поля ввода для добавления количества товара в корзины. Прямо сейчас, когда кто-то добавляет в свою корзину, это количество не сбрасывается. Я хотел бы сбросить его, но я думаю, что ему нужен JS, и я не уверен, как его использовать.

Вот что я знаю:

поля ввода отображаются следующим образом:

<input type="number" id="quantity_5dc486fedb5ff" class="input-text qty text" step="1" min="0" max="9999" name="quantity[1293]" value="0" title="Qty" size="4" inputmode="numeric">

У Woocommerce есть крючок, который срабатывает после того, как кто-то добавляет что-то в свою корзину:

add_filter( 'woocommerce_add_to_cart', 'clear_bundle_values' );

function clear_bundle_values(){
        //not sure what to put here
}

Поэтому мне нужно написать функцию, которая установит .quantity input в 0когда этот код называется.

Возможно ли это?

1 Ответ

1 голос
/ 08 ноября 2019

Если поле количества всегда имеет один и тот же идентификатор, вы можете использовать следующий ванильный JavaScript:

document.getElementById('quantity_5dc486fedb5ff').value = '0';

Иначе, вы можете настроить таргетинг на него по имени класса 'qty' (обратите внимание на множественный элемент s ):

document.getElementsByClassName('qty')[0].value = '0';

Если у вас есть доступ к jQuery, вы можете использовать регулярное выражение для целевого поля ввода, даже если идентификатор изменяется, если он начинается с «количества_»:

$("input[id^='quantity_']").val('0');

ОБНОВЛЕНИЕ: В контексте это будет:

    function clear_bundle_values(){
    ?>
    <script>
        document.getElementById('quantity_5dc486fedb5ff').value = '0';
    </script>
    <?php
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...