bfjhdbhjf2
This commit is contained in:
parent
58f9c86f9c
commit
9a007e5b63
@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
// Définir d'abord la valeur sur le select natif
|
||||
element.value = value;
|
||||
console.log('🔧 [PRESELECT] Valeur définie sur select natif:', element.value);
|
||||
console.log(`🔍 [PRESELECT] Valeur définie sur select natif ${fieldId}:`, 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');
|
||||
}
|
||||
// Si Select2 est actif, le notifier du changement
|
||||
if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) {
|
||||
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`);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user