diff --git a/Js/fonctions.js b/Js/fonctions.js index 16019103..46738a2b 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -48120,38 +48120,41 @@ function filtreTableReference(numeroTable) { const racineWeb = $("#racineWeb").val(); const $divListe = $("#div_listetables"); - // 1. On détruit proprement l'instance actuelle si elle existe - if ($('#listetables').data('selectpicker')) { - $('#listetables').selectpicker('destroy'); + // 1. DESTRUCTION TOTALE de l'existant + if ($("#listetables").length) { + $("#listetables").selectpicker('destroy'); // Tue l'instance JS } - - // 2. On supprime physiquement les menus orphelins dans le body (le conteneur généré) + // Supprime physiquement tous les menus détachés du body $('.bootstrap-select.bs-container').remove(); - - // Nettoyage des zones - $("#div_lister_table").empty(); - $('#div_maj_table').empty(); + // Vide le conteneur pour repartir de zéro + $divListe.empty(); $.ajax({ url: racineWeb + "Ajaxfiltretablesreference/", type : 'post', data: { numeroTable: numeroTable }, success: function(data) { - // 3. Injection du HTML (le select sans la classe selectpicker) + // 2. INJECTION du HTML (assurez-vous que le PHP n'a plus la classe 'selectpicker') $divListe.html(data); - // 4. Initialisation manuelle UNIQUE - const $select = $("#listetables"); - $select.selectpicker({ - liveSearch: true, - size: 10, - container: 'body' - }); - - // Focus UX Neutral Pro + // 3. INITIALISATION DIFFÉRÉE + // On attend que le navigateur ait fini de dessiner le DOM setTimeout(function() { - $divListe.find('.bootstrap-select .dropdown-toggle').focus(); - }, 200); + const $select = $("#listetables"); + + // On vérifie une dernière fois pour éviter le double emploi + if (!$select.parent().hasClass('bootstrap-select')) { + $select.selectpicker({ + liveSearch: true, + size: 10, + container: 'body', + width: '100%' // Force la largeur pour éviter les sauts visuels + }); + } + + // Focus UX + $divListe.find('.dropdown-toggle').focus(); + }, 150); } }); } diff --git a/Vue/Ajaxfiltretablesreference/index.php b/Vue/Ajaxfiltretablesreference/index.php index 6f3f8f6f..c90f01f4 100755 --- a/Vue/Ajaxfiltretablesreference/index.php +++ b/Vue/Ajaxfiltretablesreference/index.php @@ -1,3 +1,3 @@ - \ No newline at end of file