This commit is contained in:
KONE SOREL 2026-03-11 15:54:07 +00:00
parent 896682efaf
commit 049ed8eb46
2 changed files with 25 additions and 22 deletions

View File

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

View File

@ -1,3 +1,3 @@
<select name="listetables" id="listetables" class="form-control selectpicker" data-live-search="true" onchange="chargerFichiersTable();" autofocus>
<select name="listetables" id="listetables" class="form-control" data-live-search="true" onchange="chargerFichiersTable();">
<?= liste_options($autrestables, '', false) ?>
</select>