frtg
This commit is contained in:
@@ -48120,13 +48120,11 @@ function filtreTableReference(numeroTable) {
|
||||
const racineWeb = $("#racineWeb").val();
|
||||
const $divListe = $("#div_listetables");
|
||||
|
||||
// 1. DESTRUCTION TOTALE de l'existant
|
||||
// Nettoyage radical
|
||||
if ($("#listetables").length) {
|
||||
$("#listetables").selectpicker('destroy'); // Tue l'instance JS
|
||||
$("#listetables").selectpicker('destroy');
|
||||
}
|
||||
// Supprime physiquement tous les menus détachés du body
|
||||
$('.bootstrap-select.bs-container').remove();
|
||||
// Vide le conteneur pour repartir de zéro
|
||||
$divListe.empty();
|
||||
|
||||
$.ajax({
|
||||
@@ -48134,35 +48132,30 @@ function filtreTableReference(numeroTable) {
|
||||
type : 'post',
|
||||
data: { numeroTable: numeroTable },
|
||||
success: function(data) {
|
||||
// 1. On injecte le HTML brut
|
||||
$divListe.html(data);
|
||||
// Injection du HTML
|
||||
$divListe.html(data);
|
||||
|
||||
const $select = $("#listetables");
|
||||
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
|
||||
});
|
||||
// On retire la classe 'selectpicker' temporairement pour éviter
|
||||
// que le script global ne l'attrape avant nous
|
||||
$select.removeClass('selectpicker');
|
||||
|
||||
// 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 --"
|
||||
});
|
||||
setTimeout(function() {
|
||||
$select.selectpicker({
|
||||
liveSearch: true,
|
||||
size: 10,
|
||||
container: 'body',
|
||||
width: '100%'
|
||||
});
|
||||
|
||||
// On remet la classe après initialisation si nécessaire pour le CSS
|
||||
$select.addClass('selectpicker');
|
||||
|
||||
// 4. Focus UX
|
||||
setTimeout(function() {
|
||||
$divListe.find('.dropdown-toggle').focus();
|
||||
}, 200);
|
||||
}
|
||||
// Focus sur le bouton généré
|
||||
$divListe.find('.dropdown-toggle').focus();
|
||||
}, 100);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user