/** * Gestion de la sélection de taille pour les produits * Met à jour l'attribut data-item-size au changement de sélection */ (function() { 'use strict'; /** * Initialise la gestion des tailles */ function initSizeSelector() { const sizeRadios = document.querySelectorAll('#list-size input[type="radio"]'); const addToCartButton = document.querySelector('.add-to-cart'); if (!addToCartButton) { console.warn('Bouton add-to-cart non trouvé'); return; } // Définir la taille initiale (taille sélectionnée par défaut) const checkedRadio = document.querySelector('#list-size input[type="radio"]:checked'); if (checkedRadio) { addToCartButton.setAttribute('data-item-size', checkedRadio.value); } // Écouter les changements de sélection sizeRadios.forEach(radio => { radio.addEventListener('change', function() { // Mettre à jour l'attribut data-item-size addToCartButton.setAttribute('data-item-size', this.value); // Optionnel: gérer la classe is-selected sur les li parents // (pour compatibilité avec d'éventuels styles existants) const allLi = document.querySelectorAll('#list-size li'); allLi.forEach(li => li.classList.remove('is-selected')); this.closest('li').classList.add('is-selected'); }); }); } /** * Initialisation au chargement de la page */ document.addEventListener('DOMContentLoaded', initSizeSelector); })();