diff --git a/Js/fonctions.js b/Js/fonctions.js index 05103245..409b801c 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -47666,15 +47666,11 @@ function formAjoutTableRef() { type: 'post', data: donnees, success: function(data) { - // Injection du HTML $('#div_maj_table').html(data); - - // Initialise tous les selects du formulaire avec recherche et sans doublons - initSelectPickerPro('#div_maj_table'); - // Autres initialisations + // Init composants $(".datepicker").datepicker({ autoclose: true, format: 'dd/mm/yyyy' }); - if (typeof stylechampsRequis === "function") stylechampsRequis(); + $(".selectpicker").selectpicker('refresh'); // Focus setTimeout(() => { @@ -47696,12 +47692,31 @@ function filtreVilleParPays() { url: racineWeb + "Ajaxfiltrevilleparpays/", type: 'post', data: { codePays: codePays }, + beforeSend: function() { + // Étape 1 : Détruire le plugin sur l'ancien select pour éviter les doublons visuels + $divVille.find('.selectpicker').selectpicker('destroy'); + $divVille.css('opacity', '0.5'); + }, success: function(data) { - // Injection du HTML brut venant du serveur + // Étape 2 : Remplacer le contenu HTML (le nouveau présents - $container.find('select.selectpicker').each(function() { - $(this).selectpicker({ - liveSearch: true, - style: 'btn-white border-2 border-start-0 fw-bold', - width: '100%', - size: 8, - dropdownAlignRight: 'auto' - }); - - // 3. Forcer le rafraîchissement du rendu - $(this).selectpicker('refresh'); - }); -} - -/** - * Initialise proprement un SelectPicker avec recherche sans doublons - * @param {string} selector - Le conteneur ou le select (ex: '#div_ville' ou '.selectpicker') - */ -function initSelectPickerPro(selector) { - const $element = $(selector); - const codeLangue = $("#codeLangue").val(); - - // 1. On détruit l'instance existante et on supprime le HTML généré par le plugin - // C'est cette étape qui empêche les doublons de barre de recherche - $element.find('.selectpicker').selectpicker('destroy'); - $element.find('.bootstrap-select').remove(); - - // 2. On sélectionne les éléments - - - \ No newline at end of file +