df
This commit is contained in:
parent
896682efaf
commit
049ed8eb46
|
|
@ -48120,38 +48120,41 @@ function filtreTableReference(numeroTable) {
|
||||||
const racineWeb = $("#racineWeb").val();
|
const racineWeb = $("#racineWeb").val();
|
||||||
const $divListe = $("#div_listetables");
|
const $divListe = $("#div_listetables");
|
||||||
|
|
||||||
// 1. On détruit proprement l'instance actuelle si elle existe
|
// 1. DESTRUCTION TOTALE de l'existant
|
||||||
if ($('#listetables').data('selectpicker')) {
|
if ($("#listetables").length) {
|
||||||
$('#listetables').selectpicker('destroy');
|
$("#listetables").selectpicker('destroy'); // Tue l'instance JS
|
||||||
}
|
}
|
||||||
|
// Supprime physiquement tous les menus détachés du body
|
||||||
// 2. On supprime physiquement les menus orphelins dans le body (le conteneur généré)
|
|
||||||
$('.bootstrap-select.bs-container').remove();
|
$('.bootstrap-select.bs-container').remove();
|
||||||
|
// Vide le conteneur pour repartir de zéro
|
||||||
// Nettoyage des zones
|
$divListe.empty();
|
||||||
$("#div_lister_table").empty();
|
|
||||||
$('#div_maj_table').empty();
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: racineWeb + "Ajaxfiltretablesreference/",
|
url: racineWeb + "Ajaxfiltretablesreference/",
|
||||||
type : 'post',
|
type : 'post',
|
||||||
data: { numeroTable: numeroTable },
|
data: { numeroTable: numeroTable },
|
||||||
success: function(data) {
|
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);
|
$divListe.html(data);
|
||||||
|
|
||||||
// 4. Initialisation manuelle UNIQUE
|
// 3. INITIALISATION DIFFÉRÉE
|
||||||
const $select = $("#listetables");
|
// On attend que le navigateur ait fini de dessiner le DOM
|
||||||
$select.selectpicker({
|
|
||||||
liveSearch: true,
|
|
||||||
size: 10,
|
|
||||||
container: 'body'
|
|
||||||
});
|
|
||||||
|
|
||||||
// Focus UX Neutral Pro
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$divListe.find('.bootstrap-select .dropdown-toggle').focus();
|
const $select = $("#listetables");
|
||||||
}, 200);
|
|
||||||
|
// 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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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) ?>
|
<?= liste_options($autrestables, '', false) ?>
|
||||||
</select>
|
</select>
|
||||||
Loading…
Reference in New Issue
Block a user