select неудобен по той простой причине что количество может быть хоть и 50 и 1000. Кстати пример не совсем рабочий, так как не изменяется значение суммы от каждого изменения значения select.
На данный момент я уже додумался как сделать и конструкция уже работает, она выглядит вот так:
CODE ( html):
скопировать код в буфер обмена
<html> <head> <title>exemple</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <table border="1"> <thead> <tr><th>№</th> <th>Цена</th> <th>Кол-во</th> <th>Сумма</th> </tr> </thead> <tbody> <tr> <td><input type="text" class="num" id="num1" value="1"> </td> <td><input type="text" class="cena" id="cena1" oninput="change(this)"></td> <td><input type="text" class="kol_vo" id="kol_vo1" oninput="change(this)"></td> <td><input type="text" class="sum" id="sum1" ></td> </tr> <tr> <td><input type="text" class="num" id="num2" value="2"></td> <td><input type="text" class="cena" id="cena2" oninput="change(this)"></td> <td><input type="text" class="kol_vo" id="kol_vo2" oninput="change(this)"></td> <td><input type="text" class="summa" id="sum2"></td> </tr> </tbody> </table> cena: <span id="ws1"></span><br> kol_vo: <span id="ws2"></span><br> summa: <span id="ws3"></span><br> <script> function change(id) { if (id.id.charAt(0)=='c') { cena=id.value; i_sum=id.id.charAt(4); new_kol_id=document.getElementById('kol_vo'+i_sum).value; document.getElementById('sum'+i_sum).value=Number(cena)*Number(new_kol_id); } if (id.id.charAt(0)=='k') { kol_vo=id.value; i_sum=id.id.charAt(6); new_cena_id=document.getElementById('cena'+i_sum).value; document.getElementById('sum'+i_sum).value=Number(new_cena_id)*Number(kol_vo); } } </script> </body> </html>
(Отредактировано автором: 02 Августа, 2017 - 19:01:48)
|