diff --git a/themes/default/js/cart-summary.js b/themes/default/js/cart-summary.js
index 5ae39f421..520fe242d 100644
--- a/themes/default/js/cart-summary.js
+++ b/themes/default/js/cart-summary.js
@@ -543,9 +543,7 @@ function updateCartSummary(json)
initial_price_text = ''+initial_price+'
';
}
- key_for_blockcart = json.products[i].id_product+'_'+json.products[i].id_product_attribute;
- if (json.products[i].id_product_attribute == 0)
- key_for_blockcart = json.products[i].id_product;
+ key_for_blockcart = json.products[i].id_product+'_'+json.products[i].id_product_attribute+'_'+json.products[i].id_address_delivery;
$('#cart_block_product_'+key_for_blockcart+' span.quantity').html(json.products[i].cart_quantity);
diff --git a/themes/default/js/order-opc.js b/themes/default/js/order-opc.js
index da6f28030..c96e94207 100644
--- a/themes/default/js/order-opc.js
+++ b/themes/default/js/order-opc.js
@@ -73,6 +73,38 @@ function updateAddressSelection()
}
else
{
+ // Update all product keys with the new address id
+ $('#cart_summary .address_'+deliveryAddress).each(function() {
+ $(this)
+ .removeClass('address_'+deliveryAddress)
+ .addClass('address_'+idAddress_delivery);
+
+ if ($(this).find('.cart_unit span').length > 0 && $(this).find('.cart_unit span').attr('id').length > 0)
+ $(this).find('.cart_unit span').attr('id', $(this).find('.cart_unit span').attr('id').replace(/_\d+$/, '_'+idAddress_delivery));
+
+ if ($(this).find('.cart_total span').length > 0 && $(this).find('.cart_total span').attr('id').length > 0)
+ $(this).find('.cart_total span').attr('id', $(this).find('.cart_total span').attr('id').replace(/_\d+$/, '_'+idAddress_delivery));
+
+ if ($(this).find('.cart_quantity_input').length > 0 && $(this).find('.cart_quantity_input').attr('name').length > 0)
+ {
+ name = $(this).find('.cart_quantity_input').attr('name')+'_hidden';
+
+ $(this).find('.cart_quantity_input').attr('name', $(this).find('.cart_quantity_input').attr('name').replace(/_\d+$/, '_'+idAddress_delivery));
+
+ if ($(this).find('[name='+name+']')> 0)
+ $(this).find('[name='+name+']').attr('name', name.replace(/_\d+_hidden$/, '_'+idAddress_delivery+'_hidden'));
+ }
+
+ if ($(this).find('.cart_quantity_delete').length > 0 && $(this).find('.cart_quantity_delete').attr('id').length > 0) {
+ $(this).find('.cart_quantity_delete')
+ .attr('id', $(this).find('.cart_quantity_delete').attr('id').replace(/_\d+$/, '_'+idAddress_delivery))
+ .attr('href', $(this).find('.cart_quantity_delete').attr('href').replace(/id_address_delivery=\d+&/, 'id_address_delivery='+idAddress_delivery+'&'))
+ }
+ });
+
+ // Update global var deliveryAddress
+ deliveryAddress = idAddress_delivery;
+
updateCarrierList(jsonData.carrier_data);
updatePaymentMethods(jsonData);
updateCartSummary(jsonData.summary);
diff --git a/themes/default/shopping-cart-product-line.tpl b/themes/default/shopping-cart-product-line.tpl
index 22a107e02..cedc291a1 100644
--- a/themes/default/shopping-cart-product-line.tpl
+++ b/themes/default/shopping-cart-product-line.tpl
@@ -24,7 +24,7 @@
* International Registered Trademark & Property of PrestaShop SA
*}
-