This commit is contained in:
KONE SOREL 2026-03-07 17:13:50 +00:00
parent 2c46150adb
commit dd18eaa6bd

View File

@ -47513,41 +47513,43 @@ function afficheDonneesTableChoisie(fichier) {
if (!fichier || fichier === '') return;
const racineWeb = $("#racineWeb").val();
const $divLister = $('#div_lister_table'); // Ton conteneur principal
const $divLister = $('#div_lister_table');
// 1. On récupère les valeurs AVANT de vider le div
const valPays = $('#codePays').val();
const valAnnee = $('#annee').val();
// 1. On mémorise les valeurs actuelles avant le refresh
const paysSelectionne = $('#codePays').val();
const anneeSelectionnee = $('#annee').val();
// 2. Nettoyage impératif pour éviter les IDs en double dans le DOM
if ($.fn.selectpicker) {
$('.selectpicker').selectpicker('destroy');
$('.bootstrap-select').remove();
}
$divLister.empty();
// 3. Appel AJAX
// 2. Appel AJAX
$.ajax({
url: racineWeb + fichier + "/",
type: 'post',
data: { codePays: valPays, annee: valAnnee },
data: {
codePays: paysSelectionne,
annee: anneeSelectionnee
},
success: function(data) {
// 4. On injecte TOUT le bloc (Filtres + Table)
// 3. On remplace tout le bloc
$divLister.html(data);
// 5. RÉ-INITIALISATION (L'ordre est vital ici)
// On ré-habille le SelectPicker injecté
actualiserSelectPicker('#codePays', false);
// On FORCE la valeur récupérée et on rafraîchit l'affichage
// C'est ce qui fait que le pays choisi reste affiché
$('#codePays').val(valPays).selectpicker('refresh');
$('#annee').val(valAnnee);
// 4. RÉ-INITIALISATION DU SELECT (Indispensable pour le look Neutral Pro)
// On utilise le sélecteur standard de bootstrap-select
if ($('#codePays').length > 0) {
// On détruit l'ancien qui vient d'être injecté "mort" et on le recrée
$('#codePays').selectpicker('destroy');
actualiserSelectPicker('#codePays', false);
// On lui redonne sa valeur et on rafraîchit l'affichage
$('#codePays').val(paysSelectionne).selectpicker('refresh');
$('#annee').val(anneeSelectionnee);
}
// 6. On initialise la DataTable
const nomTableRaw = $("#listetables option:selected").text() || 'Jours_Feriers';
initDataTableReference('#tableLister', 'Export_' + nomTableRaw.trim().replace(/\s+/g, '_'));
// 5. INITIALISATION DATATABLE
// On s'assure que l'ancien ID n'existe plus en mémoire
if ($.fn.DataTable.isDataTable('#tableLister')) {
$('#tableLister').DataTable().destroy();
}
initDataTableReference('#tableLister', 'Referentiel_Jours_Feriers');
}
});
}