This commit is contained in:
KONE SOREL 2026-03-11 17:31:40 +00:00
parent 31aa30b801
commit 3220513705

View File

@ -48120,39 +48120,43 @@ function filtreTableReference(numeroTable) {
const racineWeb = $("#racineWeb").val();
const $divListe = $("#div_listetables");
// Nettoyage radical
// 1. ÉTAPE CRUCIALE : On détruit l'instance ET on vide physiquement le conteneur
// pour supprimer les boutons et menus générés précédemment par le plugin
if ($("#listetables").length) {
$("#listetables").selectpicker('destroy');
}
// On nettoie aussi les menus détachés dans le body (si container: 'body' était utilisé)
$('.bootstrap-select.bs-container').remove();
$divListe.empty();
// On vide le conteneur HTML pour repartir sur une base 100% neuve
$divListe.empty().html('<div class="spinner-border spinner-border-sm text-primary"></div>');
$.ajax({
url: racineWeb + "Ajaxfiltretablesreference/",
type : 'post',
data: { numeroTable: numeroTable },
success: function(data) {
// Injection du HTML
// 2. On injecte le nouveau <select> (sans la classe selectpicker dans le PHP)
$divListe.html(data);
const $select = $("#listetables");
// On retire la classe 'selectpicker' temporairement pour éviter
// que le script global ne l'attrape avant nous
$select.removeClass('selectpicker');
// 3. Initialisation "propre"
// On s'assure que l'élément est prêt avant d'initialiser
setTimeout(function() {
$select.selectpicker({
liveSearch: true,
size: 10,
container: 'body',
width: '100%'
width: '100%',
style: 'btn-form-select'
});
// On remet la classe après initialisation si nécessaire pour le CSS
$select.addClass('selectpicker');
// Forcer la valeur à vide au début pour éviter l'accumulation visuelle
$select.selectpicker('val', '');
$select.selectpicker('refresh');
// Focus sur le bouton généré
$divListe.find('.dropdown-toggle').focus();
}, 100);
}