Показать сообщение отдельно
  #2 (permalink)  
Старый 05.01.2014, 07:31
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

Можно передать в функцию-обработчик onclick ссылку на input и относительно его найти нужную галочку:
<input type="button" value="<?php echo $button_cart; ?>" onclick="addQtyToCart('<?php echo $product['product_id']; ?>', this);" class="button" />

Функции:
function addQtyToCart(product_id, elem) {
         var qty = $('.item-' + product_id).val();
         if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) {
             qty = 1;
         }
         addToCart(product_id, qty, elem);
}


function addToCart(product_id, quantity, elem) {
	quantity = typeof(quantity) != 'undefined' ? quantity : 1;

	$.ajax({
		url: 'index.php?route=checkout/cart/add',
		type: 'post',
		data: 'product_id=' + product_id + '&quantity=' + quantity,
		dataType: 'json',
		success: function(json) {
			$('.success, .warning, .attention, .information, .error').remove();
			
			if (json['redirect']) {
				location = json['redirect'];
			}
			
		        if (json['success']) {
				var notification = $(elem).parent().find('.notification');
				notification.html('<div class="success" style="display: none;">' + json['success'] + '');
				
				notification.find('.success').fadeIn('slow');
				
				$('#cart-total').html(json['total']);
				
				//$('html, body').animate({ scrollTop: 0 }, 'slow'); 
			}	
		}
	});
}


Так же у тебя очень много ошибок/недочетов в html/css.
Например, notification должен быть class, а не id, а класс success имеет padding:10px; хотя лучше нормально задать width и height.
И на мой взгляд лучше оставить только notification(можно переименовать в success) ему задать бекгроунд в виде галочки и при ответе сервера просто показать его.
Ответить с цитированием