изменение количества товара по +/- (jquery.inputNumber.js)
Пытался выкладывать на https://jsfiddle.net/a9fxgybq/7/ и https://jsfiddle.net/a9fxgybq/8/ но там не всё работает
Корзина: http://semena-tambov.ru/cart.php (пустая) <input type='text' name='prod[{$key}]' id='kolvo' value='{$val}' class='num' onChange='ChangeSum({$key})'> При нажатии на кнопки + и - количество меняется, но onChange - не работает. Почему? А при указании количества в самом поле - работает |
|
Получается надо заменить onchange на oninput?
Попробовал, все равно не работает :( |
или надо отказываться от jquery.inputNumber.js
и делать кнопки + и - типа так: <a class='minus'>-</a> <input type="text" class="num" value="1"> <a class='plus'>+</a> |
kravru,
я не вникал чего вам надо, если подключаемый плагин вносит в выбранное поле необходимое. Зачем нужна эта функция, просчитать к примеру общую сумму набранных товаров или ...? |
да, по измененному количеству товара в поле input type='text' изменить сумму этого товара (а потом и общую сумму корзины)
|
Во-первых - внимательно посмотреть (изучить) документацию на плагин, вполне возможно такой метод (обработка события изменения в поле) в нем уже есть, если нет, тогда да - oninput. Но учесть поддержку события браузерами.
Во-вторых - зачем же для расчета суммы набранных товаров передавать в функцию ID товара, $key это его ID? Функция данная должна обойти все поля циклом и произвести расчет. В третьих - id='kolvo', это удалить у полей, значение идентификатора поля должно быть уникальным, то есть проку от этого нет. |
1. документацию почитаю.
oninput пробовал, не помогло 2. логично, все равно же общую сумму нужно считать 3. да, надо делать типа id='kolvo_IDтовара' но как потом к нему обратиться? вот мой вопрос на эту тему https://javascript.ru/forum/dom-wind...id-tovara.html |
1:
<input oninput="alert('Все работает')"> 2: Логично что? Расчет суммы - да, передача id товара - никакой логики. 3: Ничего не надо делать, в данном случае id='kolvo_IDтовара' и прочее пустое и никчемное занятие. PS. По поводу события - вам что надо? Если обработать событие ввода в поле кнопками, а это делается посредством JS, то оно и не будет возникать, это только в плагине можно отследить (есть способ и без этого сделать, но в данном случае это уже слишком будет). Но пользователь может и вручную изменять значение, если плагином это не запрещено, тогда oninput. |
1. <input oninput="alert('Все работает')">
у меня oninput не работает при клике по кнопкам + и - (которые генерятся с помощью jquery.inputNumber.js) там похоже совсем на другой объект/элемент/класс надо вешать запуск функции пересчета корзины 2. я имел ввиду логично то, что вы сказали. 3. тогда и для цены не нужен id='cena_IDтовара' ? может еще подскажете как тогда перебрать все значения цен и количеств? |
Часовой пояс GMT +3, время: 01:14. |