This commit is contained in:
KONE SOREL 2026-03-11 16:10:42 +00:00
parent c80b54aafc
commit dd04c6e696

View File

@ -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);
}
});
}