diff --git a/Js/fonctions.js b/Js/fonctions.js
index 9ad5cc1f..9be0c3c4 100755
--- a/Js/fonctions.js
+++ b/Js/fonctions.js
@@ -47681,28 +47681,52 @@ function formAjoutTableRef() {
}
// Filtrer la liste des villes par pays
-function filtreVilleParPays(){
- var codePays = $('#codePays').val();
+function filtreVilleParPays() {
+ const codePays = $('#codePays').val();
+ const racineWeb = $("#racineWeb").val();
+ const $divVille = $('#div_ville');
- donnees ='codePays='+codePays;
- $.ajax({
- url: "Ajaxfiltrevilleparpays/",
- type: 'post',
- data: donnees,
- error: function(errorData){
- //alert("Erreur : "+errorData);
+ // 1. Si aucun pays n'est sélectionné, on peut vider ou griser la ville
+ if (!codePays || codePays === "") {
+ $divVille.find('select').html('').selectpicker('refresh');
+ return;
+ }
- },
- success: function(data) {
- //alert("Success : "+data);
- $('#div_ville').empty();
- $('#div_ville').html(data);
- //filtreLocaliteParVille();
- },
- complete: function(){
- }
- });
-
+ // 2. Feedback visuel de chargement sur le conteneur
+ $divVille.css('opacity', '0.5');
+
+ // 3. Appel AJAX
+ $.ajax({
+ url: racineWeb + "Ajaxfiltrevilleparpays/",
+ type: 'post',
+ data: { codePays: codePays }, // Passage en objet JSON (plus propre)
+ success: function(data) {
+ // 4. On vide et on injecte le nouveau