За последние 24 часа нас посетили 19748 программистов и 1626 роботов. Сейчас ищут 2065 программистов ...

Корзина товаров. JavaScript

Тема в разделе "JavaScript и AJAX", создана пользователем CrashBug, 8 июн 2016.

  1. CrashBug

    CrashBug Новичок

    С нами с:
    22 май 2016
    Сообщения:
    6
    Симпатии:
    0
    Имеется такая корзинка [​IMG]
    Её код:
    <div id="korz">
    <div id="block">
    Корзина
    <br>
    <p>Товаров:<span id="count">0</span></p> <!--в этот span добавляется кол-во товаров-->
    <p>Сумма:<span price="0" id="price">0</span></p> <!--в этот span добавляется сумма товаров-->
    </div>
    </div>

    Есть товары циклом из базы данных
    upload_2016-6-8_23-31-23.png
    Код маленькой кнопки корзинки под товарами (выводится циклом с каждым товаром)
    <div title="Добавить" style="несуть"
    price="'.$row["Cena"].'" rel="'.$row["ID"].'" id="add">
    <!--price и rel выдуманный атрибут. В нём цена и id товара, которые через скрипт идут в корзину-->
    <img src="korz.png" width="40px" height="40px"/>
    </div>

    Обработчик нажатия этой кнопки javascript + jQuery

    $(document).ready(function() {
    var newcount = 0; /*переменная счётчика кол-ва товаров*/
    $('#add').click(function(){ /* функция обработки клика*/
    var allprice = $('#block p span#price').attr("price"); /*переменная равная атрибуту price (в корзине) */
    var price = $(this).attr("price"); /*в переменную вытаскивается из price цена (в товарах)*/
    var tovarid = $(this).attr("rel"); /*в переменную вытаскивается из rel ID(в товарах)*/
    newprice = Number(allprice) + Number(price); /*складывает цены, переводит их в числа*/
    newcount ++; /*счётчик кол-ва*/

    $('#block p span#price').html(newprice+' руб.').attr("price",newprice); /*устанавливает новую цену в корз.*/
    $('#block p span#count').html(newcount);
    });
    });

    Суть проблемы
    Как задумано работает только первая кнопка (под булкой потешкой)
    Остальные отказываются работать. Обработчик не кладёт их в корзину.

    upload_2016-6-8_23-44-52.png
    Если не разобрались в коде, спрашивайте-объясню что где.
    Заранее спасибо
     

    Вложения:

    • korz.PNG
      korz.PNG
      Размер файла:
      3,6 КБ
      Просмотров:
      0
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Оформи код как html, javascript кнопка </> в редакторе, там есть select.
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Хреново задумано, т.к. в пределах одной страницы не может быть несколько элементов с одинаковым ID. Это правило можно записать на листике, прикрепить над кроватью и читать, как молитву до полного усвоения. Замените id у кнопок на классы.
     
  4. CrashBug

    CrashBug Новичок

    С нами с:
    22 май 2016
    Сообщения:
    6
    Симпатии:
    0
    Спасибо Deonis. Начинающие любят такие ошибки. Я среди них. Все кнопки заработали. Вопрос решен.