Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2018, 22:35
Интересующийся
Отправить личное сообщение для Denis_Landar Посмотреть профиль Найти все сообщения от Denis_Landar
 
Регистрация: 10.10.2017
Сообщений: 26

Не меняется сумма в input
Добрый вечер!
На сайте есть мини-магазин. Там действует система скидок, если количество больше чем 12, то цена меняется, но она изменилась только внешне, при добавлении товара цена не меняется.
Вот эта страница: https://advanced.cn.ua/order
Пример ячейки с товаром:
<tr>
	<td><img src="img/order/ballon.png" alt="НПУ POLYNOR"></td>
	<td><span id="cena">280</span>
	<div class="number">
		<span style="user-select: none;padding:3px 9px 3px 9px;" class="minus">-</span>
		<input style="user-select: none;background-color: #fff;" id="inp"POLYNOR" type="text" value="0" size="5" />
		<span style="user-select: none;" class="plus">+</span>
	</div>
	</td>
</tr>


"Калькулятор":
$(function() {
	var table = $(".order-table"),
	div = table.find(".number"),
	input = div.find("input").get(),
	total = $(".order-end-form>input:text");

	function sum() {
		var n = input.reduce(function(s, el) {
			var val = +el.value || 0,
			price = +el.dataset.price || 0;
			val < 0 && (val = 0);
			return s + val * price
		}, 0);
		total.val(n)
	}
	div.each(function(indx, el) {
		var price = parseInt($(el).prev().text()),
		input = $("input", el).on({
			input: sum
		})[0];
		input.dataset.price = price;
		$(el).on("click", ".minus, .plus", function(event) {
			val = +input.value || 0;
			$(event.target).is(".minus") ?
			val-- : val++;
			val < 0 && (val = 0);
			input.value = val;
			sum()
		})
	})
});


Замена цены:
<script>
	 function cena(){
				var a = [[120,250,'#0F0'],[48,260,'#590'],[12,270,'#950'],[1,280,'#F00']].find(el => el[0] <= (+inp.value||1)),
					cena = document.querySelector("#cena");
					cena.textContent = a[1];
					cena.style.color = a[2];
				};

				document.querySelector('#inp').addEventListener("input", cena, false);
				document.body.addEventListener("click", cena, false); 
				window.addEventListener("DOMContentLoaded", cena, false);
			</script>


Фото ячейки:
Изображения:
Тип файла: jpg Screenshot_2.jpg (10.0 Кб, 6 просмотров)
Тип файла: png Screenshot_5.png (3.4 Кб, 2 просмотров)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не меняется value в input PolarWolf1 Элементы интерфейса 2 18.11.2017 11:03
Не меняется значение input через value Bingo_o Events/DOM/Window 17 22.02.2017 17:13
Сумма всех input значений одного класса WGN Общие вопросы Javascript 1 19.02.2017 22:42
ID input, которая динамически меняется alex_ural Events/DOM/Window 13 06.04.2014 22:22
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27