[AJAX] Lier deux listes déroulantes avec AJAX
Fermé
beegees
Messages postés
83
Date d'inscription
samedi 30 décembre 2006
Statut
Membre
Dernière intervention
1 janvier 2018
-
19 nov. 2008 à 19:45
beegees Messages postés 83 Date d'inscription samedi 30 décembre 2006 Statut Membre Dernière intervention 1 janvier 2018 - 21 nov. 2008 à 12:23
beegees Messages postés 83 Date d'inscription samedi 30 décembre 2006 Statut Membre Dernière intervention 1 janvier 2018 - 21 nov. 2008 à 12:23
A voir également:
- [AJAX] Lier deux listes déroulantes avec AJAX
- Listes déroulantes en cascade excel - Guide
- Faire des listes déroulantes excel - Guide
- Deux ecran pc - Guide
- Itinéraire google map entre deux adresses - Guide
- Faire deux colonnes sur word - Guide
2 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
19 nov. 2008 à 22:15
19 nov. 2008 à 22:15
ta partie formulaire:
la fonction Ajax go()
et le fichier rep_ajax_liste2.php (nomme le bien ainsi)
<form> <select name="annee" id="annee" onchange="go('rep_ajax_liste2.php','annee','liste_Nom_mnemonics')"> <option value='-1'>(1)Choisissez une année</option> <?php while($row = mysql_fetch_assoc($query)){ echo "<option value="".$row['NOM_ANNEE']."">".$row['NOM_ANNEE']."</option>"; } ?> </select> <div id="liste_Nom_mnemonics"> <!-- la sera chargee la deuxieme liste par Ajax --> </div> </form>
la fonction Ajax go()
/** * Méthode qui sera appelée sur le click du bouton */ function go(url,id_lire,id_ecrire){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste //je t'ai modifie la ligne ci dessous document.getElementById(id_ecrire).innerHTML = leselect; } } // Ici on va voir comment faire du post xhr.open("POST",url,true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, l'id de l'auteur //tu a pompé ce script sans l'adapter à ton cas //je t'ai modifié les lignes ci dessous obj = document.getElementById(id_lire); data = "sel="+obj.value; xhr.send(data); }
et le fichier rep_ajax_liste2.php (nomme le bien ainsi)
<?php echo "<select name='select_Nom_mnemonics'>"; if(isset($_POST['sel'])){ mysql_connect("localhost","root","mdp"); mysql_select_db("deliberations"); $res = mysql_query("SELECT * FROM annees WHERE NOM_ANNEE='".$_POST['sel']."'"); while($row = mysql_fetch_assoc($res)){ //ci dessous je pense que tu dois modifier les noms des champs a afficher pour avoir les Nom_mnemonics echo "<option value="".$row['ID']."">".$row['ID']."</option>"; } } echo "</select>"; ?>
beegees
Messages postés
83
Date d'inscription
samedi 30 décembre 2006
Statut
Membre
Dernière intervention
1 janvier 2018
7
21 nov. 2008 à 12:23
21 nov. 2008 à 12:23
Bonjour Alain,
Un tout grand merci pour ta réponse.
J'ai trouvé une solution entre temps mais je vais quand même regarder ton code.
Merci encore.
beegees
Un tout grand merci pour ta réponse.
J'ai trouvé une solution entre temps mais je vais quand même regarder ton code.
Merci encore.
beegees