Есть такая фигня:
$('#pickup').change(function() {
		if ($(this).prop('checked')) {
			$('.trade-block').each(function() {
				price = parseInt($(this).attr('data-price'))*0.9;
				id = $(this).attr('data-id');
				$(this).find('.price').text(Math.floor(price));
				$('li[data-id='+id+']').attr('data-price',Math.floor(price));
				val = $('li[data-id='+id+'] input').val();
				recountCartValues($('li[data-id='+id+'] input'),val);
				$('#user_addr').parent().hide();
			});
		} else {
			$('.trade-block').each(function() {
				price = $(this).attr('data-price');
				id = $(this).attr('data-id');
				$(this).find('.price').text(price);
				$('li[data-id='+id+']').attr('data-price',price);
				val = $('li[data-id='+id+'] input').val();
				recountCartValues($('li[data-id='+id+'] input'),val);
				$('#user_addr').parent().show();
			});
		}
	});
Ну т.е. есть список товаров с их ценами и если ставим галку цены меняются. В блоке trade-block завел новый атрибут (или как он правильно называется) discounts (Без скидки). Дак вот, если он = 1, то цикл на этой итерации должен прерываться до умножения на 0.9 и препрыгивать на следующую итерацию.
Запилил перед этим местом такую штуку:
if($(this).prop('discounts').text() == 1) return true;
Но цикл полностью прерывается, скидка не срабатывает для всех товаров, хотя должна бы только для одного.