перемножить значения ячеек в таблице
Здравствуйте.
Необходимо найти итоговое значение заказов в таблице. Значение "price" умножить на количество "quantity" и сложить все эти значения. Таблица такая: <tr> <td class="price">364.00</td> <td class="quantity">3</td> </tr> <tr> <td class="price">900.00</td> <td class="quantity">2</td> </tr> <tr> <td class="price">450.00</td> <td class="quantity">1</td> </tr> сложение ячеек "price" сделал, по примеру, найденному на этом сайте, <script> $(document).ready(function(){ $(document).ready(function () { var sum = 0; $("#product_table .price").each( function () { sum += parseInt( $(this).text(), 10 ); }); alert(sum); }); }); </script> а как сначала перемножить две ячейки - не пойму |
obscurant,
:write: <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script> $(function () { var sum = 0; $("#product_table .price").each( function () { sum += parseInt( $(this).text(), 10 ) * parseInt( $(this).next().text(), 10 ) }); alert(sum); }); </script> </script> </head> <body> <table id="product_table"> <tr> <td class="price">364.00</td> <td class="quantity">3</td> </tr> <tr> <td class="price">900.00</td> <td class="quantity">2</td> </tr> <tr> <td class="price">450.00</td> <td class="quantity">1</td> </tr> </table> </body> </html> |
<script type="text/javascript" src="http://yandex.st/jquery/1.7.2/jquery.min.js"></script> <script> $(document).ready(function(){ $(document).ready(function () { var sum = 0; $("#product_table tr").each( function () { var mn=$(this).find('td'); sum += (+mn.eq(0).text())*(+mn.eq(1).text()); }); alert(sum); }); }); </script> <table id=product_table> <tr> <td class="price">364.00</td> <td class="quantity">3</td> </tr> <tr> <td class="price">900.00</td> <td class="quantity">2</td> </tr> <tr> <td class="price">450.00</td> <td class="quantity">1</td> </tr></table> |
спасибо большое!
а вот еще вопрос - планируется ввести поле для скидки. Обычный input. И как посчитать сумму с учетом этого поля скидки? И на какое событие повесить этот пересчет? |
Цитата:
Цитата:
|
пока сделал от суммы вычитание числа из input
<input type='text' name='discont' id='discont' /> <script> $(function () { var sum = 0; $("#product_table .price").each( function () { sum += parseInt( $(this).text(), 10 ) * parseInt( $(this).next().text(), 10 ) }); $("#discont").change(function (e) { var Value = $("#discont").val(); sum = sum - Value; alert(sum); }); alert(sum); } ); </script> вроде работает. теперь возникла задача к сумме прибавлять значения доставки и оплаты. Доставка и Оплата - два селекта такого вида: <select name="paymen"> <option value="1">Налом</option> <option value="6" selected="">Кредит</option> <option value="2">Безнал (+6%)</option> <option value="5">Картой</option> </select> ну и доставка похожа. Вопрос в том - как записать значение для каждого типа оплаты? (Безналичный платеж - прибавляем к сумме 6% и т.п.). Просто значения лежат в базе и значения value нужны, когда я записываю весь заказ и тогда формирую общую цену с учетом этих выборок. |
Цитата:
http://javascript.ru/if http://javascript.ru/switch |
не, это-то понятно. просто я имел ввиду как подставить значения скидки в тег option.
дело в том, что значение скидки хранится в базе - а если я пропишу сейчас жестко, что при выборе пункта 2 - делать скидку 6% - вдруг завтра она изменится - и будет неуниверсально. Просто не знаю в какой аттрибут <option> засунуть это значение, чтобы скриптом можно было выдрать, но и value - нужен, на нем завязан php-скрипт. |
Цитата:
Цитата:
<option value="2" data-value='6'>Безнал (+6%)</option> |
да - вот так - самое то!
и как теперь выдернуть это аттрибут? |
Цитата:
val=$(<объект>).data('value'); |
не получается :(
сделал val=$("payment").data("data-value"); |
Цитата:
|
та неее.... я в первом варианте недописал ее. не в этом проблема
|
obscurant,
Нарисуйте минимально необходимый HTML для задачи... очевидно нужна еще и кнопка "Подвести итог" - Выложите HTML и поставьте задачу, иначе как девица в автосервисе," а Вот эту гаечку прикрутить, да и эту не забудьте" |
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> function test(Obj) { switch (Obj.value) { case '1': break; case '2': var val=$(Obj.options[Obj.selectedIndex]).data('value'); alert(val); break; case '5': break; case '6': break; default: break; }; }; </script> </head> <body> <select name="paymen" id="paymen" onchange='test(this)'> <option value=""></option> <option value="1">Налом</option> <option value="6" selected="">Кредит</option> <option value="2" data-value='6'>Безнал (+6%)</option> <option value="5">Картой</option> </select> </body> </html> |
Часовой пояс GMT +3, время: 00:57. |