Как с помощью jQuery повторить событие oninput и вызов функции при нажатии на button?
Всех приветствую. Пожалуйста, простите новичка за неумение более корректно формулировать вопрос.
В каталоге магазина у товаров есть текстовое поле, с вводом самого количества товаров. К нему я добавил кнопки "плюс-минус" - по нажатии на которые число в поле увеличивается/уменьшается", получилось так:
<button class="minus">-</button> <input class="number" type="text" onfocus="this.select()" oninput="return checkNumber(this, event, '1');"> <button class="plus">+</button> |
<button class="minus">-</button> <input class="number" type="text" onfocus="this.select()" oninput="return checkNumber(this, event, '1');"> <button class="plus">+</button>
Увеличить/уменьшить число в текстовом поле я могу, мне не понятно, как реализовать вызов функции checkNumber(this, event, '1'); при нажатии на кнопки "плюс-минус":
$('.plus').click(function() { // вот тут что написать, чтобы повторить checkNumber(this, event, '1')? }); |
$('.plus').click(function() { // вот тут что написать, чтобы повторить checkNumber(this, event, '1')? });
Дополнительно:
Ответы:
$('.plus').click(function(e) { checkNumber( // про this - сюда вставьте указатель на ноду HTML - конкретный экземпляр инпут с классом намбер, который будете проверять. Будьте внимательны, если на странице несколько input.number, возможно, выбранный вами способ будет захватывать первый попавшийся input.number. Добейтесь того, чтобы захватывался только тот намбер, соседом которого является плюс или минус (можно через родительский контейнер вычислить это). // про event. Возможно, возможно, внутри реализации checkNumber, допустим есть отмена действия по умолчанию, или остановка всплытия события, посмотрите, будет ли отличия от события oninput на намбере. Можно попробовать передать указатель события клика от плюса/минуса (обратите внимание на аргумент e в function(e) ) // про '1' - если заглянуть в хрустальный шар - реализацию функции checkNumber, то можно предположить, что это значение по умолчанию или минимальное значение поля input.number ) }); |
$('.plus').click(function(e) { checkNumber( // про this - сюда вставьте указатель на ноду HTML - конкретный экземпляр инпут с классом намбер, который будете проверять. Будьте внимательны, если на странице несколько input.number, возможно, выбранный вами способ будет захватывать первый попавшийся input.number. Добейтесь того, чтобы захватывался только тот намбер, соседом которого является плюс или минус (можно через родительский контейнер вычислить это). // про event. Возможно, возможно, внутри реализации checkNumber, допустим есть отмена действия по умолчанию, или остановка всплытия события, посмотрите, будет ли отличия от события oninput на намбере. Можно попробовать передать указатель события клика от плюса/минуса (обратите внимание на аргумент e в function(e) ) // про '1' - если заглянуть в хрустальный шар - реализацию функции checkNumber, то можно предположить, что это значение по умолчанию или минимальное значение поля input.number ) });
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы повторить событие oninput и вызвать функцию при нажатии на кнопку с помощью jQuery, можно использовать следующий код:
$(document).ready(function() { $('#myInput').on('input', function() { // код, который будет выполнен при изменении значения в input }); $('#myButton').on('click', function() { // код, который будет выполнен при клике на кнопку }); });
Где #myInput - это селектор для вашего input элемента, а #myButton - для кнопки. В блоке кода для события oninput вы можете написать любой код, который должен быть выполнен при изменении значения в input. Аналогично, в блоке кода для события click на кнопке вы можете написать код, который должен быть выполнен при клике на кнопку.
Таким образом, при изменении значения в input будет вызываться соответствующая функция, а при нажатии на кнопку будет вызываться другая функция.