Сообщение от kravru
|
у меня oninput не работает при клике по кнопкам
|
Я постскриптум добавил по этому поводу, только спустя подумал, что не того вы просите.
Сообщение от kravru
|
тогда и для цены не нужен id='cena_IDтовара' ?
|
Что есть есть $key - id товара? Если да, то name='prod[{$key}]', это разумно. В этом случае сервер получит в массиве под ключом prod массив, ключами которого будут id товаров, а их значениями количество набранного. Для того чтобы серверу контролировать корзину, это и нужно, более ничего не требуется. id='kolvo' полная туфта, ибо к DOM элементу можно обратиться не только по его идентификатору. Но главное, это то, что в данной задаче индивидуального обращения к каждому полю, что и делается с помощью идентификатора, совсем не требуется, а значит выбросить это и забыть.
Нет надобности и в onChange='ChangeSum({$key})'. Во-первых - если требуется обработка ручного ввода (не кнопками и в плагине этого нет), то данный обработчик лучше определить для тега form, и если таким образом, то передавать в функцию не $key (в случае формы, это, конечно, глупо), а форму ChangeSum(this).
В функции нужно обойти циклом элементы формы f.elements (пусть функция принимает форму аргументом f), получая у каждого его (value), умножая его на цену товара (это удобно держать в атрибутах полей, чего у вас нет), суммируя полученное для получения общей суммы. Если для чего-то потребуется id товара в этом расчете (даже не представляю для чего это может потребоваться), то его несложно получить из имени поля (name) по шаблону регулярного выражения /\d+/, и получите цифры.