Вход

Просмотр полной версии : Проблема Jquery+Ajax во всплывающем окне


jamesbond
11.03.2016, 16:53
Всем привет.
На сайте есть каталог товаров. При нажатии на товар всплывает бутстраповское модальное окно с карточкой товара.
В этой карточке есть кнопка добавления в корзину. После добавления товара в корзину всплывающее окно закрывается.

Если я первый раз добавляю в корзину товар из всплывающего окна, то в корзину добавляется, как и положено 1 товар, если второй раз открою всплывающее окно, то добавляется уже 2 товара, в третий раз - 3 и так далее. Если обновить страницу. Не пойму в чем дело. Как будто где-то счетчик этих окон стоит.

Теперь от слов к коду:


function ajaxpostshow(urlres, datares, wherecontent ){
$.ajax({
type: "POST",
cache:false,
url: urlres,
data: datares,
dataType: "html",
success: function(fillter){
$(wherecontent).html(fillter);
console.log('Переменная данных содержит:'+datares.ajaxbasketcount);
}
});
}
...............................
...............................
...............................
// добавление в корзину из всплывающего окна
$('#popup_detail.modal').on("click",".btn-cart-single.btn-cart",function(){
var id = $(this).attr('rel');
var count = $(this).parents(".add-to-box").find("#QUANTITY_INPUT_"+id).val();
var ajaxcount = {'ajaxaddid':id,'ajaxbasketcount':count,'ajaxactio n':'add'};
ajaxpostshow("/ajax/basket.php", ajaxcount, "#small_basket" );
return false;
});
...............................
...............................
...............................


Этот же код из детальной карточки товара (не всплывающего окна) работает корректно.

Помогите, пожалуйста, разобраться.

Viral
18.03.2016, 22:46
<script src="http://code.jquery.com/jquery-1.12.2.min.js"></script>
<script>
$(function () {
$('#div1').click(function(){
$('#div2').click(function(){
alert('натыкался? попробуй сам сделать выводы..');
});
});
})();
</script>
<div id="div1">тыкни пять раз сюда</div>
<div id="div2">а потом один раз сюда</div>

jamesbond
21.03.2016, 17:55
Спасибо за наводку, код поправил, все работает.