Probleme d'affichage d'une liste deroulante dependante
aichatou
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour, j'ai besoin de votre aide. J'ai deux listes déroulantes dépendantes grade et echelon. Des qu'on clique sur grade rien ne s'affiche dans echelon. Voici mon code
<?php
include('config/cn.php');
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!--script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script-->
<script src="js/script.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
<div class="col-md-2">
<label for="grade" class="required">Grade :</label>
<select onChange="getEchelon(this.value);" name="grade" id="grade" class="form-control">
<option value="">Choisir le grade</option>
<?php $re=$cn->query('select * from grade');
while ($tabRe=$re->fetch()) { ?>
<option value="<php echo $tabRe['id_grade']; ?>">
<?php echo $tabRe['nom_grade'];?>
</option>
<?php }
?>
</select>
</div>   
<!--...................................echelon....................-->
<div class="col-md-2">
<label for="echelon">Echelon :</label>
<select class="form-control" name="echelon" id="echelon-list">
<option value="">select</option>
</select>
</div>
<div class="align-self-end ml-auto">
<button type="submit" class="btn btn-info"><i class="fa fa-check"></i>
Enregistrer
</button>
</div>
<!-- Bootstrap 4 --><!--script permettant d'ajouter des button avec leur position-->
<!--script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script-->
<!--script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js">
</script-->
<!--ajax-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<!--bootstrap5-->
<!--script src=" https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js "></script-->
</body>
</html>
Voici le fichier getEchelon.php
<?php
include('config/cn.php');
if (!empty($_POST['id_grade'])) {
$re=$cn->prepare('SELECT nom_echelon from echelon where id_grade=?');
$re->execute([$_POST['id_grade']]);
$tabRe = $re->fetch();
?>
<option value="">select echelon</option>
<?php
while($tabRe = $re->fetch())
{
?>
<option value="<?php echo $tabRe['id_echelon'];?>"><?php echo $tabRe['nom_echelon'];?></option>
<?php
}
}?>
Voici le fichier script.js
function getEchelon(val){
$.ajax({
type:"POST",
url:"getEchelon.php",
data:'id_grade='+val,
success:function(data){
$("#echelon-list").html(data);
}
})
}
//function getEchelon(val){
//$.ajax({
//type:"POST",
//url:"getEchelon.php",
//data:'id_classe='+val,
//success:function(data){
//$("#echelon-list").html(data);
//}
//})
//}
Windows / Firefox 126.0
A voir également:
- Probleme d'affichage d'une liste deroulante dependante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Affichage double ecran - Guide
1 réponse
Bonjour,
Il y aurait quelques "améliorations" à apporter à ton code ...
Mais commence déjà par ça pour identifier le souci :
=> voir le chapitre : Débuggage de l'ajax
Pense aussi à appliquer ceci par rapport à PDO :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous voir ensuite avec des captures écrans des tes appels ajax dans la console...