Bonjour à tous,

j'ai une liste déroulante qui contient les départements, je voudrais que dans le formulaire dans un input, je puisse rentrer une ville (en autocomplete que j'ai déjà fait) mais en fonction du choix de la liste déroulante même lorsque l'utilisateur change de département.
Il faut appeler je crois ce changement en Javascript ou Ajax ?

Le hearder.php contient la liste déroulante département comme ceci :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<select name="id_departement" class="form-control mb-2" id="region" onChange="getVilles(this.value);">
         <option value="">- - - Choisissez un d&eacute;partement - - -</option>
       <?php
                          foreach($departements as $nr => $nom)
    {
           ?>
           <option value="<?= $nr;?>"<?php
          } 
 
    ?>><?= utf8_encode($nom); ?></option><?php }  
        echo'</select>';
         }
//ici je voudrais afficher le input en fonction du choix du département même si l'utilisateur change
?>
<div class="input_container">
                    <input type="text" id="country_id" onkeyup="autocomplet()">
                    <ul id="country_list_id"></ul>
                </div>

Le fichier d'autocomplete qui affiche le résultat dans <ul id="country_list_id"></ul> indiqué au-dessus.
Si je change de département mon autocomplete reste sur le dernier département sélectionné.

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?php $keyword = '%'.$_POST['keyword'].'%';
$sql = "SELECT id_ville, ville, cp FROM ville WHERE ville LIKE (:keyword) and id_departement = ". $idd ." LIMIT 0, 8";
$query = $pdo->prepare($sql);
$query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$query->execute();
$list = $query->fetchAll();
foreach ($list as $rs) {
  // put in bold the written text
  $ville = str_replace($_POST['keyword'], '<b>'.$_POST['keyword'].'</b>', $rs['ville']);
  // add new option
    echo '<li onclick="set_item(\''.str_replace("'", "\'", $rs['ville']).'\')">'.$ville.'</li>';
  } ?>

Merci de votre aide