Split, selected et liste à choix multiples !

Messages postés
29
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
19 avril 2005
- - Dernière réponse : webdesignasp
Messages postés
29
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
19 avril 2005
- 15 avril 2003 à 13:14
salut,

au secours !! c'est le cas de le dire je souheterai faire un selected sur les lignes d'une liste/menu à choix multiples en fonction d'une chaine issue d'une BD.

voilà le code actuel (qui ne marche pas)

<%@LANGUAGE="VBSCRIPT"%>

<%
'lachaine = "01, 02, 06, 08"

Function traiter(lachaine)
chaine=split(lachaine,",")
for i=0 to ubound(chaine)if trim(chaine(i)) "01" or trim(chaine(i)) "02" or trim(chaine(i)) = "03" or trim(chaine(i)) = "04" or trim(chaine(i)) = "05" or trim(chaine(i)) = "06" or trim(chaine(i)) = "07" or trim(chaine(i)) = "08" or trim(chaine(i)) = "09" or trim(chaine(i)) = "10" then
response.write (" selected")
end if
next
end function
%>
<html><head><title></title></head>

<form name="form1" method="post" action="">
<select name="select" size="10" multiple>
<option value="01" <%traiter("01, 02, 06, 08")%>>01</option>
<option value="02" <%traiter("01, 02, 06, 08")%>>02</option>
<option value="03" <%traiter("01, 02, 06, 08")%>>03</option>
<option value="04" <%traiter("01, 02, 06, 08")%>>04</option>
<option value="05" <%traiter("01, 02, 06, 08")%>>05</option>
<option value="06" <%traiter("01, 02, 06, 08")%>>06</option>
<option value="07" <%traiter("01, 02, 06, 08")%>>>07</option>
<option value="08" <%traiter("01, 02, 06, 08")%>>08</option>
<option value="09" <%traiter("01, 02, 06, 08")%>>>09</option>
<option value="10" <%traiter("01, 02, 06, 08")%>>10</option>
</select>
</form>

</html>

et voilà le code qui marche pour le moment, malheuresment il y a un problème car qd on insère ds la base des choix multiples, certes ils sont séparés de "," mais ceux qu'on a pas choisi n'apparaissent pas bien sur, en bref on a plutot "01, 04, 07, 08" que "01, , , 04, , , 07, 08, , "

<%'on error resume next
'sub traitement()
'function traiter(lachaine)
lachaine = "01, , 03,04,, 06,07, ,09,10"
lachaine = replace(lachaine," ","")
response.Write(lachaine)
chaine=split(lachaine,",")
'for i=0 to ubound(chaine)
chaine01 = chaine(0)
chaine02 = chaine(1)
chaine03 = chaine(2)
chaine04 = chaine(3)
chaine05 = chaine(4)
chaine06 = chaine(5)
chaine07 = chaine(6)
chaine08 = chaine(7)
chaine09 = chaine(8)
chaine10 = chaine(9)
'next
'end function
'end sub
%>
<html><head><title></title></head>

<form name="form1" method="post" action="">
<select name="select" size="10" multiple>
<option value="01" <%if chaine01 = "01" then response.Write("selected")%>>01</option>
<option value="02" <%if chaine02 = "02" then response.Write("selected")%>>02</option>
<option value="03" <%if chaine03 = "03" then response.Write("selected")%>>03</option>
<option value="04" <%if chaine04 = "04" then response.Write("selected")%>>04</option>
<option value="05" <%if chaine05 = "05" then response.Write("selected")%>>05</option>
<option value="06" <%if chaine06 = "06" then response.Write("selected")%>>06</option>
<option value="07" <%if chaine07 = "07" then response.Write("selected")%>>07</option>
<option value="08" <%if chaine08 = "08" then response.Write("selected")%>>08</option>
<option value="09" <%if chaine09 = "09" then response.Write("selected")%>>09</option>
<option value="10" <%if chaine10 = "10" then response.Write("selected")%>>10</option>
</select>
</form>

</html>

si quelqu'un peut m'aider ce serait génial : je vais jetter le PC par la fenêtre !! :)
Afficher la suite 

1 réponse

Messages postés
29
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
19 avril 2005
0
Merci
j'ai trouvé la solution !!
Du coup, j'en ai même une source :
http://www.aspfr.com/article.aspx?Val=508

comme quoi ça serd à rien de se prendre la tête pendant des heures surtout quand on est sur la mauvaise voie !
j'ai fait une pause de 2 minutes et réfléchis 1 minute.
j'aurai dû commencer par ça ;)

En plus, la réponse tiens en une ligne !!
Commenter la réponse de webdesignasp