Bonjour,
Je débute avec jQuery et les fonctions et j'ai un petit problème.
J'ai un formulaire avec deux listes déroulantes et une zone de texte.
Je souhaite récupérer les variables et les envoyer dans des variables d'url pour exécuter une requête :
Code : 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
19
20
21
22 <select name="ens" multiple="multiple"> <?php while($donnees = mysql_fetch_array($retour)) { echo '<option>'.$donnees['nom_enseigne'].'</option>'; } ?> </select> <select name="cds" multiple="multiple"> <?php while($donnees_cds = mysql_fetch_array($retour_cds)) { echo '<option>'.$donnees_cds['nom_util'].'</option>'; } ?> </select> <input type="text" name="vil" id="vil" value="">
Code : 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 $(document).ready(function() { vil = ''; $("input#vil").keyup(function () { vil = $('#vil').val(); /*alert("Data : " + vil);*/ $("#test").text(vil); }); $("select").change(function (){ var ens = ""; i=0; $("select[name='ens'] option:selected").each(function () { if (i>0) { ens += "|"; } ens += $(this).text(); i++; }); var util = ""; i=0; $("select[name='cds'] option:selected").each(function () { if (i>0) { util += "|"; } util += $(this).text(); i++; }); /* $("#test1").text(util); alert("Data : " + str); */ data = ''; $.get("thePHP.php?ens=" + ens + "&util=" + util + "&ville=" + vil, function(theXML){ $('person',theXML).each(function(i){ var enseigne = $(this).find("enseigne").text(); var ville = $(this).find("ville").text(); var cp = $(this).find("cp").text(); var cds = $(this).find("CDS").text(); data = data + "<tr><td>" + enseigne + "</td><td>" + ville +"</td><td>" + cp +"</td><td>" + cds +"</td></tr>"; }); $("#cont").html(data); }); }) .trigger('change'); });
En fait j'arrive bien a récupérer les variables de mes menus déroulant mais pas celle de mon champ texte.
Enfin j'y arrive mais que dans la fonction, le alert fonctionne bien mais si je le met hors de la fonction je suis obligé de cliqué sur le menu déroulant pour qu'il se mélange. Ce qui est normal car mon $.Get est dans la fonction qui teste le changement d'un select.
Il faudrait dire si il y un élément dans un des select ou un nouveau caractère dans la zone texte j'execute, mais je ne vois pas trop comment faire. L'idée est de ne pas mettre de bouton pour avoir une sensation de fluidité.
Merci d'avance !
Partager