Не меняется сумма в input, почему?

220
13 марта 2018, 01:26

Добрый вечер! На сайте есть мини-магазин. Там действует система скидок, если количество больше чем 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>

"Калькулятор"(суммы):

$(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>
Answer 1

Сразу явная ошибка

id="inp"POLYNOR" 

В консоле есть ошибки:

Uncaught TypeError: $(...).owlCarousel is not a function
    at HTMLDocument.<anonymous> (common.js:75)
    at j (jquery.min.js:2)
    at k (jquery.min.js:2)

Дайте имя функции и кнопкам событие: onclick="FunctionName();"

READ ALSO
AJAX возвращает JSON с HTML тегами

AJAX возвращает JSON с HTML тегами

На сервере есть searchphp, который получает поисковый запрос в виде строки и ищет совпадения в

225
Передать значение в форму

Передать значение в форму

Есть страница категории товаровУ каждого есть ID - product ['id'], название - product['name'], цена - product['price']

254
на сайте нету стилей

на сайте нету стилей

Прошу помощиСделал структуру сайта

179
Цветовая математика в JavaScript

Цветовая математика в JavaScript

Используя Less можно делать операции над цветами, например darken("red",10%)

202