From 58f9c86f9ca98d78e8d6b51b74cc66eb1c57d559 Mon Sep 17 00:00:00 2001 From: jps Date: Tue, 20 Jan 2026 15:13:38 +0100 Subject: [PATCH] bjkbhj --- assets/js/modules/agenda-modal-select.js | 39 +++++++++++++++++++----- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/assets/js/modules/agenda-modal-select.js b/assets/js/modules/agenda-modal-select.js index 1f820de..44b578a 100644 --- a/assets/js/modules/agenda-modal-select.js +++ b/assets/js/modules/agenda-modal-select.js @@ -369,16 +369,39 @@ function preselectValues(eventData) { if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) { console.log(`🔍 [PRESELECT] Utilisation de Select2 pour ${fieldId}, valeur: ${value}`); - // Pour le champ langue qui vient d'être initialisé, utiliser un délai pour laisser Select2 se préparer - /* if (fieldId === 'langue') { - setTimeout(() => { - jQuery(element).val(value).trigger('change'); - console.log(`🔧 [PRESELECT] Valeur définie avec délai pour ${fieldId}:`, jQuery(element).val()); - }, 50); + // Pour le champ langue, essayer plusieurs méthodes de mise à jour + if (fieldId === 'langue') { + console.log('🔧 [PRESELECT] Méthode spéciale pour langue - destruction et réinitialisation'); + + // Méthode 1: Détruire et réinitialiser Select2 avec la valeur + const $element = jQuery(element); + + // Sauvegarder les options Select2 + const select2Options = { + width: '100%', + placeholder: 'Sélectionner...', + allowClear: true, + dropdownParent: jQuery('#eventModal') + }; + + // Détruire Select2 + try { + $element.select2('destroy'); + console.log('🔧 [PRESELECT] Select2 détruit'); + } catch (e) { + console.log('🔧 [PRESELECT] Erreur destruction Select2:', e); + } + + // Définir la valeur sur le select natif + element.value = value; + console.log('🔧 [PRESELECT] Valeur définie sur select natif:', element.value); + + // Réinitialiser Select2 + $element.select2(select2Options); + console.log('🔧 [PRESELECT] Select2 réinitialisé avec valeur:', $element.val()); } else { jQuery(element).val(value).trigger('change'); - } */ - jQuery(element).val(value).trigger('change'); + } // Vérifier si la valeur a bien été définie const actualValue = jQuery(element).val();