From dd04c6e696b87433935575c860eab29a29f38cef Mon Sep 17 00:00:00 2001 From: KONE SOREL Date: Wed, 11 Mar 2026 16:10:42 +0000 Subject: [PATCH] de --- Js/fonctions.js | 51 +++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/Js/fonctions.js b/Js/fonctions.js index 05a6ffb4..4c74fbbd 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -48134,30 +48134,35 @@ function filtreTableReference(numeroTable) { type : 'post', data: { numeroTable: numeroTable }, success: function(data) { - // 2. INJECTION du HTML (assurez-vous que le PHP n'a plus la classe 'selectpicker') - $divListe.html(data); + // 1. On injecte le HTML brut + $divListe.html(data); - // 3. INITIALISATION DIFFÉRÉE - // On attend que le navigateur ait fini de dessiner le DOM - setTimeout(function() { - 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', - // Force le plugin à n'afficher que le texte sélectionné sans accumulation - noneSelectedText: '-- Sélectionner --', - selectedTextFormat: 'static' - }); - } - - // Focus UX - $divListe.find('.dropdown-toggle').focus(); - }, 150); - } + const $select = $("#listetables"); + + // 2. NETTOYAGE CHIRURGICAL des options + // On force le texte à être propre et on supprime l'attribut title + // qui cause souvent le doublon dans le rendu du plugin + $select.find('option').each(function() { + const propre = $(this).text().trim(); + $(this).text(propre); // Nettoie le texte interne + $(this).attr('data-content', ''); // Supprime d'éventuels attributs parasites + $(this).removeAttr('title'); // Supprime le titre qui double le rendu + }); + + // 3. INITIALISATION avec paramètres de sécurité + $select.selectpicker({ + liveSearch: true, + size: 10, + container: 'body', + style: 'btn-form-select', // Utilise votre classe de style + noneSelectedText: (typeof _ !== 'undefined') ? _("-- Sélectionner --") : "-- Sélectionner --" + }); + + // 4. Focus UX + setTimeout(function() { + $divListe.find('.dropdown-toggle').focus(); + }, 200); + } }); }