Не пойму почему у меня так, как только я идентификатор или класс прописываю в echo то функция click в js не вызывается .... вот и теперь .... (не буду слать весь код он большеват) ... PHP: do { $int = $row["cart_price"] * $row["cart_count"]; $all_price = $all_price + $int; if (strlen($row["image"]) > 0 && file_exists('upload_images/'.$row["image"])) { $img_path = 'upload_images/'.$row["image"]; $max_width = 100; $max_height = 100; list($width, $height) = getimagesize($img_path); $ratioh = $max_height/$height; $ratiow = $max_width/$width; $ratio = min($ratioh, $ratiow); $width = intval($ratio*$width); $height = intval($ratio*$height); }else { $img_path = "images/noimages.jpeg"; $width = 120; $height = 105; } echo ' <div class="block-list-cart"> <div class="img-cart"> <p align="center"><img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" /></p> </div> <div class="title-cart"> <p><a href="">'.$row["title"].'</a></p> <p class="cart-mini-features"> '.$row["mini_features"].' </p> </div> <div class="count-cart"> <ul class="input-count-style"> <li> <p align="center" iid="'.$row["cart_id"].'" class="count-minus">-</p> </li> <li> <p align="center"><input id="input-id'.$row["cart_id"].'" iid="'.$row["cart_id"].'" class="count-input" maxlength="3" type="text" value="'.$row["cart_count"].'" /></p> </li> <li> <p align="center" iid="'.$row["cart_id"].'" class="count-plus">+</p> </li> </ul> </div> <div id="tovar'.$row["cart_id"].'" class="price-product"><h5><span class="span-count" >'.$row["cart_count"].'</span> x <span>'.$row["cart_price"].'</span></h5><p price="'.$row["cart_price"].'" >'.group_numerals($int).' руб</p></div> <div class="delete-cart"><a href="cart.php?id='.$row["cart_id"].'&action=delete" ><img src="/images/bsk_item_del.png" /></a></div> <div id="bottom-cart-line"></div> </div> '; } while ($row = mysql_fetch_array($result)); //////////////////////////////script///////////////////////// $('.count-minus').click(function(){ alert("-"); } $('.count-plus').click(function(){ alert("+"); } $('.count-input').keypress(function(e){ alert("abra-kadabra"); } --- Добавлено --- обработчики на клик не вызываются.... если выведу из echo, то норм
@Михаил_Влад, во-первых что означает вот это: PHP: iid="'.$row["cart_id"].'" во вторых у тебя вот тут: Код (Javascript): $('.count-minus').click(function(){ alert("-"); } $('.count-plus').click(function(){ alert("+"); } $('.count-input').keypress(function(e){ alert("abra-kadabra"); } после закрывающих фигурных скобок нужно поставить вот это: );
Это идентификатор товара в корзине из БД. по нему и определяется какому товару увеличить или уменьшить кол-во в БД С точками с запятой в коде все вроде нормально... --- Добавлено --- не вызываются все равно(
@Михаил_Влад, идентификатор вроде пишется id а не iid. У тебя функции "click" не закрыты: Код (Javascript): $('.count-plus').click(function(){ alert("+"); } А нужно: Код (Javascript): $('.count-plus').click(function(){ alert("+"); }); Ты в консоли посмотри какую ошибку выдаёт когда ты на кнопку нажимаешь.
Почему бы не задавать все вопросы Гуру Попову, у которого вы учились? Почему учит сикось-накось он, причем за деньги, а исправляем мы, причем просто так? --- Добавлено --- Сходу вопрос - у вас, случайно, обработчики событий не появляются на странице раньше, чем HTML, с которым они должны работать? --- Добавлено --- Вы во всю типа юзаете JQuery, но почему-то игнорируете ее гайдлайны, где ясно говорится, что надо юзать $(document).ready()
@Sergey_Tsarev я сперва недописал.... функции представляют следующее: я удалял все, оставлял алерты Код (Javascript): $(".count-minus").click(function(){ var iid = $(this).attr("iid"); alert("yfrjytw"); $.ajax({ type: "POST", url: "include/count-minus.php", data: "id="+iid, dataType: "html", cache: false, success: function(data) { $("#input-id"+iid).val(data); loadcart(); // переменная с ценной продукта var priceproduct = $("#tovar"+iid+" > p").attr("price"); // Цену умножаем на колличество result_total = Number(priceproduct) * Number(data); $("#tovar"+iid+" > p").html(fun_group_price(result_total)+" руб"); $("#tovar"+iid+" > h5 > .span-count").html(data); itog_price(); } }); }); $('.count-plus').click(function(){ var iid = $(this).attr("iid"); $.ajax({ type: "POST", url: "include/count-plus.php", data: "id="+iid, dataType: "html", cache: false, success: function(data) { $("#input-id"+iid).val(data); loadcart(); // переменная с ценной продукта var priceproduct = $("#tovar"+iid+" > p").attr("price"); // Цену умножаем на колличество result_total = Number(priceproduct) * Number(data); $("#tovar"+iid+" > p").html(fun_group_price(result_total)+" руб"); $("#tovar"+iid+" > h5 > .span-count").html(data); itog_price(); } }); }); естественно все функции через документ.... p.s пытаюсь учиться везде где учат)
@Михаил_Влад, ты когда по кнопке 'count-plus' или 'count-minus' кликаешь, в консоли ошибка показывается?
Может. Потому что ты открываешь круглую и фигурную скобки, а закрываешь только фигурную, и при том точку с запятой не ставишь.
Страницу в браузере перезагрузи и тыкни по своей кнопке. Открой режим разработки (для GoogleChrome - ctrl+shift+i ) и должна быть ошибка отображена.
Код нужно постепенно писать и проверять походу, а не нахерачить целую страницу и думать почему всё не работает, еще и код не заворачивать в теги чтобы кровь из глаз хлестала. JQuery весь тухнет из-за одной синтаксической ошибки. На всякий случай, ты JQuery подключил вообще?
Полностью согласен. Я чуть ли не каждое действие проверяю. А то бывает двоеточие пропустил или скобку и всё - ошибка. А что это за атрибут? Код (Javascript): var iid = $(this).attr("iid"); Или это пользовательский атрибут? Так для этого вроде как есть: http://htmlbook.ru/samouchitel-html5/atributy-data
и ты её сразу исправил, а не потом вглядываешься в кучу букв уставшими глазами, где точку про#$ал )))
Спасибо огромное ребята... дело инклюдах... куки другую подключил... Реально очень признателен за помощь