diff --git a/Js/fonctions.js b/Js/fonctions.js index 14a824e5..dd8d462f 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -47685,26 +47685,29 @@ function formAjoutTableRef() { // Filtrer la liste des villes par pays function filtreVilleParPays() { const codePays = $('#codePays').val(); - const racineWeb = $("#racineWeb").val(); - const $selectVille = $('#codeVille'); // On cible le SELECT fixe + const $selectVille = $('#codeVille'); if (!codePays) return; $.ajax({ - url: racineWeb + "Ajaxfiltrevilleparpays/", + url: $("#racineWeb").val() + "Ajaxfiltrevilleparpays/", type: 'post', data: { codePays: codePays }, success: function(htmlOptions) { - // 1. On vide COMPLÈTEMENT le select pour supprimer tout résidu + // 1. ÉTAPE CRUCIALE : On détruit l'attribut title qui cause le doublon dans le bouton + $selectVille.removeAttr('title').prop('title', ''); + + // 2. On vide physiquement les options $selectVille.empty(); - // 2. On injecte les nouvelles options (venant de votre PHP) + // 3. On injecte les nouvelles options (venant du PHP) $selectVille.append(htmlOptions); - // 3. RÉPARATION DU TITRE ET DU CONTENU : - // On force le plugin à recalculer le titre et l'affichage sans recréer le bouton - $selectVille.selectpicker('val', ''); // Réinitialise la sélection interne - $selectVille.selectpicker('refresh'); // Met à jour l'interface visuelle + // 4. On force le SelectPicker à se réinitialiser SANS cumuler les textes + $selectVille.selectpicker('refresh'); + + // 5. On force la valeur à vide pour que le placeholder s'affiche proprement une seule fois + $selectVille.selectpicker('val', ''); } }); }