Показать сообщение отдельно
  #7 (permalink)  
Старый 17.12.2013, 18:09
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,672

angeli28, учись студент:
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>

<style>
#goods {text-align:center;}
#goods td {border:1px solid #ccc;}
#goods td.minus, #goods td.plus {width:20px;cursor:pointer;}
#goods td.eq {width:20px;}
#goods td.amount {width:60px;}
#goods td.price, #goods td.result {width:100px;}
</style>

<table id="goods">
	<tr>
		<td class="minus">−</td>
		<td class="amount">0</td>
		<td class="plus">+</td>
		<td class="price">1000.00</td>
		<td class="eq">=</td>
		<td class="result">0</td>
	</tr>
	<tr>
		<td class="minus">−</td>
		<td class="amount">0</td>
		<td class="plus">+</td>
		<td class="price">2000.00</td>
		<td class="eq">=</td>
		<td class="result">0</td>
	</tr>
	<tr>
		<td class="minus">−</td>
		<td class="amount">0</td>
		<td class="plus">+</td>
		<td class="price">3000.00</td>
		<td class="eq">=</td>
		<td class="result">0</td>
	</tr>
	<tr>
		<td colspan="5">Итого</td>
		<td class="itogo">0</td>
	</tr>
<table>

<script>
$(function() {

	$('#goods td.minus, #goods td.plus').click(function () {
		var theElem = $(this);
		var amountElem = theElem.siblings('.amount');
		var priceElem  = theElem.siblings('.price');
		var resultElem = theElem.siblings('.result');
		var itogoElem  = $('#goods td.itogo');

		var amountNum = +amountElem.text();
		var priceNum  = +priceElem.text();
		var resultNum = +resultElem.text();
		var itogoNum  = +itogoElem.text();

		switch (true) {
			case theElem.hasClass('plus'):
				resultNum = ++amountNum * priceNum;
				itogoNum += priceNum;
				break;
			case theElem.hasClass('minus'):
				if (!amountNum) break;
				resultNum = --amountNum * priceNum;
				itogoNum -= priceNum;
		}

		amountElem.text(amountNum);
		resultElem.text(resultNum.toFixed(2));
		itogoElem.text(itogoNum.toFixed(2));
	});

	$('#goods td.plus').trigger('click');

});
</script>

Последний раз редактировалось Rise, 17.12.2013 в 18:22.
Ответить с цитированием