Lstes de coix controlées par javascript et ajax
zakri-04
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créer un formulaire avec un bouton submit et un tableau qui contient une liste de choix qui se répète quatres fois dans toutes les lignes de ce tableau et qui a quatre valeurs obtenu d'aprés un tableau qui se nomme specialite (et il y a un autre tableau nommé choix_autorise qui nous n'intéresse pas il est utile juste pour avoir l'id specialité) voici le code pour mieux comprendre :
donc on soustraire les id puis on les affecte leurs désignations et on les mettent dans la liste de chois qui se répète quatre fois dans la meme ligne du tableau
Mon problème et ce que je veux est que si l'utilisateur choisit une option de la première liste de choix il ne la trouve pas dans la deuxième et ainsi de suite
c-à-d il trouve quatre choix dans la première liste de choix et s'il choisit une valeur il trouve dans la deuxième liste de choix juste les troix autres choix et il trouve dans la troisième liste de choix juste les deux restants non choisies premièrement et deuxièmement et enfin il trouve dans la quatrième liste de choix juste une celle qui n'a pas été choisi dans les trois liste de choix précédante.
Merci de bien me répondre.
et je m'excuse pour ce trés long paragraphe.

Configuration: Windows / Firefox 89.0
J'ai créer un formulaire avec un bouton submit et un tableau qui contient une liste de choix qui se répète quatres fois dans toutes les lignes de ce tableau et qui a quatre valeurs obtenu d'aprés un tableau qui se nomme specialite (et il y a un autre tableau nommé choix_autorise qui nous n'intéresse pas il est utile juste pour avoir l'id specialité) voici le code pour mieux comprendre :
<form method="post" action="Reserv_choix.php"> <table> <tr> <th> N°</th> <th> Choix </th> </tr> <?php for ($i=1; $i <5 ; $i++) { ?> <tr> <td> <?php echo $i; ?> </td> <td> <select> <?php $requete = $bdd -> prepare ('SELECT id_Specialite_Autor FROM choix_autorise WHERE id_Specialite_Act = ?'); $requete -> execute(array($_SESSION['id_specialit'])); while ($donnees_req = $requete-> fetch()){ $requete1 = $bdd -> prepare('SELECT design_Specialite FROM specialite WHERE id_Specialite = ?'); $requete1 -> execute(array($donnees_req['id_Specialite_Autor'])); $donnees1_req1 = $requete1-> fetch(); ?> <option value="<?php echo $donnees1_req1['design_Specialite']; ?>"> <?php echo $donnees1_req1['design_Specialite']; ?> </option> <?php } ?> </select> </td> </tr> <?php } ?> </table>
donc on soustraire les id puis on les affecte leurs désignations et on les mettent dans la liste de chois qui se répète quatre fois dans la meme ligne du tableau
Mon problème et ce que je veux est que si l'utilisateur choisit une option de la première liste de choix il ne la trouve pas dans la deuxième et ainsi de suite
c-à-d il trouve quatre choix dans la première liste de choix et s'il choisit une valeur il trouve dans la deuxième liste de choix juste les troix autres choix et il trouve dans la troisième liste de choix juste les deux restants non choisies premièrement et deuxièmement et enfin il trouve dans la quatrième liste de choix juste une celle qui n'a pas été choisi dans les trois liste de choix précédante.
Merci de bien me répondre.
et je m'excuse pour ce trés long paragraphe.

A voir également:
- Lstes de coix controlées par javascript et ajax
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Erreur #125 javascript - Forum Mozilla Firefox
2 réponses
Bonjour
Tu utilises l'event change sur tes select
Et tu remove les options qui ont été choisies.
Mais en faisant ça tu ne pourras pas faire de nouveaux choix sans recharger 'a page
.
L'idéal serait, en effet, de charger le contenu de tes listes en ajax...
Reviens nous voir quand tu auras commencé quelque chose...
Tu utilises l'event change sur tes select
Et tu remove les options qui ont été choisies.
Mais en faisant ça tu ne pourras pas faire de nouveaux choix sans recharger 'a page
.
L'idéal serait, en effet, de charger le contenu de tes listes en ajax...
Reviens nous voir quand tu auras commencé quelque chose...
Bonjour,
Si les données dans les select sont toujours les mêmes et qu'il s'agit juste d'une question d'affichage, tu devrais pouvoir gérer tout ca directement en javascript sans avoir besoin de faire de requête ajax.
Un exemple en javascript (avec jQuery pour aller plus vite) :
Si les données dans les select sont toujours les mêmes et qu'il s'agit juste d'une question d'affichage, tu devrais pouvoir gérer tout ca directement en javascript sans avoir besoin de faire de requête ajax.
Un exemple en javascript (avec jQuery pour aller plus vite) :
<select class="choices"> <option value="">Choix 1 :</option> <option value="php">PHP</option> <option value="html">HTML</option> <option value="css">CSS</option> <option value="js">JS</option> </select> <select class="choices"> <option value="">Choix 2 :</option> <option value="php">PHP</option> <option value="html">HTML</option> <option value="css">CSS</option> <option value="js">JS</option> </select> <select class="choices"> <option value="">Choix 3 :</option> <option value="php">PHP</option> <option value="html">HTML</option> <option value="css">CSS</option> <option value="js">JS</option> </select> <select class="choices"> <option value="">Choix 4 :</option> <option value="php">PHP</option> <option value="html">HTML</option> <option value="css">CSS</option> <option value="js">JS</option> </select> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="choices.js"></script>
// choices.js var previous; $('.choices').focus(function(){ previous = this.value; }).change(function(){ if (previous) { $('.choices option[value="' + previous + '"]').css("display", "block"); } if (this.value) { $('.choices option[value="' + this.value + '"]').css("display", "none"); previous = this.value; } });
oui c'est avec Ajax je vais essayer quelque choses et s'il y a des prblèmes je vais les exposer