@alexgugr
HTML/CSS/JS, C++, Python и т.д.

Как заставить триггер срабатывать при каждом событии?

Написал такой код:

jQuery(function($){
$( "input[name='payment_method']" ).change(function() {
  $(document.body).trigger('update_checkout');
});
});

Проблема в том, что мне нужно, чтобы update_checkout срабатывал при каждом событии change на input. А он срабатывает всего один раз.
Всего у меня есть 4 таких input.
  • Вопрос задан
  • 649 просмотров
Решения вопроса 1
@polar-bear
А если так попробовать,
$(document).on('change', 'input[name="payment_method"]', function() {
    $(document.body).trigger('update_checkout');
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
$( "input[name='payment_method']" ).on('keyup', function() {
  $(document.body).trigger('update_checkout');
});


p.s. посмотрите разницу между событиями: keyup, keypres и keydown (выберите подходящее)
Ответ написан
@GreatRash
Событие change на текстовом поле срабатывает когда оно теряет фокус. Видимо payment_method - это текстовое поле.
Ответ написан
Shapito27
@Shapito27
php, laravel
$( "body" ).on('change', "input[name='payment_method']", function() {
  $(document.body).trigger('update_checkout');
});
Ответ написан
Комментировать
mrTyler
@mrTyler
Frontend Developer
потер.

Выше решение от Руслан Сайфуллин должно работать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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