Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2013, 11:03
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

перемножить значения ячеек в таблице
Здравствуйте.
Необходимо найти итоговое значение заказов в таблице. Значение "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>



а как сначала перемножить две ячейки - не пойму
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2013, 11:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

obscurant,

<!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>
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2013, 11:26
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<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>
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2013, 12:39
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

спасибо большое!
а вот еще вопрос - планируется ввести поле для скидки. Обычный input. И как посчитать сумму с учетом этого поля скидки? И на какое событие повесить этот пересчет?
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2013, 13:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от obscurant
как посчитать сумму с учетом этого поля скидки?
Х/з что там у тебя за скидка... Процент ли это... А может просто некая сумма... Может какой-то коеффициент...

Сообщение от obscurant
на какое событие повесить этот пересчет?
Как вариант onchange() того инпута...
Ответить с цитированием
  #6 (permalink)  
Старый 14.06.2013, 14:09
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

пока сделал от суммы вычитание числа из 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 нужны, когда я записываю весь заказ и тогда формирую общую цену с учетом этих выборок.
Ответить с цитированием
  #7 (permalink)  
Старый 14.06.2013, 14:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от obscurant
как записать значение для каждого типа оплаты?
На то есть конструкции типа
http://javascript.ru/if
http://javascript.ru/switch
Ответить с цитированием
  #8 (permalink)  
Старый 14.06.2013, 14:34
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

не, это-то понятно. просто я имел ввиду как подставить значения скидки в тег option.
дело в том, что значение скидки хранится в базе - а если я пропишу сейчас жестко, что при выборе пункта 2 - делать скидку 6% - вдруг завтра она изменится - и будет неуниверсально.
Просто не знаю в какой аттрибут <option> засунуть это значение, чтобы скриптом можно было выдрать, но и value - нужен, на нем завязан php-скрипт.
Ответить с цитированием
  #9 (permalink)  
Старый 14.06.2013, 14:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от obscurant
как подставить значения скидки в тег option.
дело в том, что значение скидки хранится в базе - а если я пропишу сейчас жестко, что при выборе пункта 2 - делать скидку 6% - вдруг завтра она изменится - и будет неуниверсально.
Ясно...

Сообщение от obscurant
Просто не знаю в какой аттрибут <option> засунуть это значение
В любой свой атрибут... Например

<option value="2" data-value='6'>Безнал (+6%)</option>
Ответить с цитированием
  #10 (permalink)  
Старый 14.06.2013, 15:03
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

да - вот так - самое то!
и как теперь выдернуть это аттрибут?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрашивание ячеек в таблице в зависимости от данных в ячейк Gradyslav Элементы интерфейса 39 16.11.2018 18:09
HTML таблица. Как получить значения ячеек выделенной строки Paltusssss Events/DOM/Window 1 27.01.2013 05:07
Как сделать размер ячейки в таблице не больше определённого значения? javascript_pupil (X)HTML/CSS 16 18.02.2012 12:52
не удается порулить шириной ячеек в таблице ctocopok Events/DOM/Window 1 24.07.2011 18:00
Помогите вывести и посчитать значения ячеек в таблицах uznik73 Events/DOM/Window 13 14.07.2011 13:09