bonjour à tous
cela fait quelques jours que je bosse sur un petit problème.
J'ai bien sur fait des recherches avant de venir, dernier recours pour moi car c'est le meilleur des forums.
je vous explique:
A ne pas oublier je dev en java et le code se trouve dans une jsp
j'ai deux listes déroulantes qui doivent etre liées dynamiquement.
De ce fait j'ai récupéré un petit script qui marche trés bien quand les données sont en dures.jusque la tt va bien.
les problèmes arrivent,
au lieu de ces datas en dures je fais une requete sql pour chacune des deux listes.
le problème est que : voir code explication dessus :
puis le code js
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 <form name="frm"> <select size=4 name="A" id="A" onchange="gensel2();"> <optgroup label="A"> <option value="ALL">ALL</option> <% //valeur de la BDD result = statement.executeQuery("SELECT distinct(A) FROM maTable order by A"); //récupere les enregistrements while (result.next()) { A= result.getString("A"); out.print("<option>" + A+ "</option>"); System.out.println("A= " + A); } %> </optgroup> </select> //jusqu'ici tout va bien je récupere bien tt les données de A <select size=4 name="B" id="B"> <optgroup label="B"> <option value="ALL">ALL</option> <% //dans ma requete je fais une clauseWHERE pour aller récupérer la var A //selectionnée dans la premiere liste mais A = dernier enregistrement du resultSet result = statement.executeQuery("SELECT distinct(B),A FROM maTable where A like'"+A+"' order by B"); while (result.next()) { B= result.getString("B"); out.print("<option>" + B+ "</option>"); System.out.println("B= " + latticecode); } %> </optgroup> </select> </form>
Pouvez vous m'aider svp.
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 <script type="text/javascript"> function gensel2() { s2.length=0; for( var n=0; n<liste[s1.selectedIndex].length; n++ ) { s2.length++; s2.options[s2.length-1].text=liste[s1.selectedIndex][n]; } } var s1=document.getElementById("techno"); var s2=document.getElementById("latticecode"); var liste=new Array(s2); </script>
Partager