This commit is contained in:
KONE SOREL 2026-03-07 11:19:43 +00:00
parent 23302a299e
commit 85639a5bc1

View File

@ -47668,9 +47668,11 @@ function formAjoutTableRef() {
success: function(data) {
$('#div_maj_table').html(data);
// On nettoie et on initialise tous les selects du formulaire
actualiserSelectPicker('#div_maj_table .selectpicker');
// Init composants
$(".datepicker").datepicker({ autoclose: true, format: 'dd/mm/yyyy' });
$(".selectpicker").selectpicker('refresh');
// Focus
setTimeout(() => {
@ -47682,19 +47684,19 @@ function formAjoutTableRef() {
// Filtrer la liste des villes par pays
function filtreVilleParPays() {
const $selectVille = $('#codeVille');
const codePays = $('#codePays').val();
const racineWeb = $("#racineWeb").val();
$.ajax({
url: $("#racineWeb").val() + "Ajaxfiltrevilleparpays/",
url: racineWeb + "Ajaxfiltrevilleparpays/",
type: 'post',
data: { codePays: $('#codePays').val() },
success: function(htmlOptions) {
// On change les options
$selectVille.html(htmlOptions);
// ON APPELLE TA FONCTION : elle verra que le select existe déjà
// et fera un 'refresh' proprement sans doubler le texte.
actualiserSelectPicker('#codeVille');
data: { codePays: codePays },
success: function(data) {
// On injecte le HTML (contenant le <select> ou les <option>)
$('#div_ville').html(data);
// On appelle la fonction de nettoyage radical
actualiserSelectPicker('#div_ville .selectpicker');
}
});
}
@ -47765,9 +47767,12 @@ function formModifTableRef($idData) {
success: function(data) {
$('#div_maj_table').html(data);
// On nettoie et on initialise tous les selects du formulaire
actualiserSelectPicker('#div_maj_table .selectpicker');
// Initialisation des composants
$(".datepicker").datepicker({ autoclose: true, format: 'dd/mm/yyyy' });
$(".selectpicker").selectpicker('refresh');
if (typeof stylechampsRequis === "function") stylechampsRequis();
// Focus intelligent
@ -91640,18 +91645,22 @@ function actualiserSelectPicker(selector) {
$(selector).each(function() {
const $el = $(this);
// TEST DE SÉCURITÉ : Si le plugin n'est pas là, on l'installe
if (!$el.data('selectpicker')) {
$el.selectpicker({
liveSearch: true,
style: 'btn-white border-2 border-start-0 fw-bold',
width: '100%',
size: 8,
noneSelectedText: $("#codeLangue").val() === 'en_US' ? '-- Select --' : '-- Sélectionner --'
});
} else {
// S'il est déjà là, on rafraîchit juste les données
$el.selectpicker('refresh');
// 1. On détruit proprement l'instance existante
if ($el.data('selectpicker')) {
$el.selectpicker('destroy');
}
// 2. ÉTAPE RADICALE : On supprime les div résidus du plugin
// C'est ce qui empêche le texte de doubler
$el.siblings('.bootstrap-select').remove();
// 3. On ré-initialise avec tes paramètres
$el.selectpicker({
liveSearch: true,
style: 'btn-white border-2 border-start-0 fw-bold',
width: '100%',
size: 8,
noneSelectedText: $("#codeLangue").val() === 'en_US' ? '-- Select --' : '-- Sélectionner --'
});
});
}