Pb dans menu déroulant avec SQL !!! - HTML/CSS - Programmation
Marsh Posté le 26-06-2003 à 12:36:34
explicite un peu ton code car là j'ai vraiment pas envie de chercher...
Marsh Posté le 26-06-2003 à 13:05:23
daique a écrit : Déja, y a pas de doctype, ni de <html> <head> |
A part ça :
- catégorie "ASP" serait plus pratique.
J'avais mis un exemple de code ASP/JS pour des combos liées ici
Marsh Posté le 26-06-2003 à 13:20:40
j'ai zappé le haut mais les balises sont là.
Ce qui ne marche pas c'est l'affichage de la combo 2 et 3. Il marque que la longueur du 2nd tableau n'existe pas!!!!
comprends rien
Marsh Posté le 26-06-2003 à 12:17:50
Quelqu'un peut-il me dire ce qui cloche dans mon code??
Le 1er menu est Ok mais les autres ne fonctionnent pas, pb de longueur avec Brand!!!
<script language="javascript">
var signature1=new Array;
<%
sql="select distinct signature from hierarchie0"
set rs=conn.execute (sql)
i=0
while not rs.eof%>
signature1[<%=i%>]=new Array("s<%=i%>", "<%=rs("signature" )%>" );
<%i=i+1
rs.movenext
wend%>
var brand1=new Array;
<%
sql="select distinct brand from hierarchie0"
set rs=conn.execute (sql)
i=0
while not rs.eof%>
brand1[<%=i%>]=new Array("b<%=i%>", "<%=rs("brand" )%>" );
<%i=i+1
rs.movenext
wend%>
var subbrand1=new Array;
<%
sql="select distinct subbrand from hierarchie0"
set rs=conn.execute (sql)
i=0
while not rs.eof%>
subbrand1[<%=i%>]=new Array("sb<%=i%>", "<%=rs("subbrand" )%>" );
<%i=i+1
rs.movenext
wend%>
function filltheselect(liste, choix)
{switch (liste)
{
case "listesignature":
raz("listebrand" );
raz("listesubbrand" );
for (i=0; i<brand1[choix].length; i++)
{
new_option = new Option(brand1[choix][i][1],brand1[choix][i][0]);
document.formu.elements["listebrand"].options[document.formu.elements["listebrand"].length]=new_option;
}
for (i=0; i<subbrand1[choix+"b0"].length; i++)
{
new_option = new Option(subbrand1[choix+"b0"][i][1],subbrand1[choix+"b0"][i][0]);
document.formu.elements["listesubbrand"].options[document.formu.elements["listesubbrand"].length]=new_option;
}
break;
case "listebrand":
raz("listesubbrand" );
for (i=0; i<subbrand1[choix].length; i++)
{
new_option = new Option(subbrand1[choix][i][1],subbrand1[choix][i][0]);
document.formu.elements["listesubbrand"].options[document.formu.elements["listesubbrand"].length]=new_option;
}
break;
}
}
function raz(liste)
{l=document.formu.elements[liste].length;
for (i=l; i>=0; i--)
document.formu.elements[liste].options[i]=null;
}
</script>
</head>
<body>
<form name="formu">
Choisir une signature
<select name="listesignature" onChange="javascript:filltheselect(this.name, this.value)">
<script language="javascript">
for (i=0; i<signature1.length; i++)
document.write("<option value=\"" +signature1[i][0]+ "\">" +signature1[i][1]);
</script>
</select>
Choisir une marque
<select name="listebrand" onChange="javascript:filltheselect(this.name, this.value)">
<script language="javascript">
for (i=0; i<brand1["s0"].length; i++)
document.write("<option value=\"" +brand1["s0"][i][0]+ "\">" +brand1["s0"][i][1]);
</script>
</select>
Choisir une sous-marque
<select name="listesubbrand" onChange="javascript:filltheselect(this.name, this.value)">
<script language="javascript">
for (i=0; i<subbrand1["s0b0"].length; i++)
document.write("<option value=\"" +subbrand1["s0b0"][i][0]+ "\">" +subbrand1["s0b0"][i][1]);
</script>
</select>
</form>
</BODY>
</HTML>