bfjhdbhjf2

This commit is contained in:
Jean-Philippe Staelen 2026-01-20 15:16:16 +01:00
parent 58f9c86f9c
commit 9a007e5b63

View File

@ -350,70 +350,24 @@ function preselectValues(eventData) {
// Vérifier si l'option avec cette valeur existe
const optionExists = Array.from(element.options).some(opt => opt.value === value.toString());
console.log(`🔍 [PRESELECT] L'option avec valeur "${value}" existe:`, optionExists);
// Si Select2 n'est pas initialisé pour le champ langue, l'initialiser maintenant
if (window.jQuery && !jQuery(element).hasClass('select2-hidden-accessible')) {
console.log('🔧 [PRESELECT] Select2 non initialisé pour langue, initialisation...');
if (window.jQuery.fn.select2) {
jQuery(element).select2({
width: '100%',
placeholder: 'Sélectionner...',
allowClear: true,
dropdownParent: jQuery('#eventModal')
});
console.log('✅ [PRESELECT] Select2 initialisé pour langue');
}
}
}
// Définir d'abord la valeur sur le select natif
element.value = value;
console.log(`🔍 [PRESELECT] Valeur définie sur select natif ${fieldId}:`, element.value);
// Si Select2 est actif, le notifier du changement
if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) {
console.log(`🔍 [PRESELECT] Utilisation de Select2 pour ${fieldId}, valeur: ${value}`);
// 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');
}
console.log(`🔍 [PRESELECT] Notification Select2 pour ${fieldId}`);
jQuery(element).trigger('change');
// Vérifier si la valeur a bien été définie
const actualValue = jQuery(element).val();
console.log(`🔍 [PRESELECT] Valeur après définition pour ${fieldId}:`, actualValue, 'attendue:', value);
console.log(`🔍 [PRESELECT] Valeur Select2 pour ${fieldId}:`, actualValue, 'attendue:', value);
if (actualValue !== value && actualValue !== value.toString()) {
console.warn(`⚠️ [PRESELECT] La valeur n'a pas été correctement définie pour ${fieldId}!`);
}
} else {
console.log(`🔍 [PRESELECT] Utilisation de value standard pour ${fieldId}, valeur: ${value}`);
element.value = value;
console.log(`🔍 [PRESELECT] Valeur après définition pour ${fieldId}:`, element.value);
}
} else {
console.warn(`⚠️ [PRESELECT] Élément ${fieldId} non trouvé ou pas un SELECT`);