10. september 2003 - 02:45Der er
20 kommentarer og 1 løsning
selecte bestemt option value
Hey -
Jeg er ved at lave en hjemmeside hvor man, som bruger, kan indtaste nogle oplysninger, der ryger ind i en database. Disse oplysninger kan så efterfølgende ændres på en anden side.
Altsammen fint. Eksempelvis udfor navn, så sættes feltets value bare til at vise <%rsProfile("navn")%> (så siden viser brugeres gemte navn fra databasen.
((((((MEN))))))
Jeg bruger også en option value til at angive ét ud af mange valg.
Frustration: Hvordan får jeg denne option value (med samme indhold) til at starte med at vise brugerens gemte valg, hentet fra databasen når ændre-oplysninger-siden loades?
Jeg har prøvet med <option value="<%=rsProfile("kons")%>"></option>, men den holder ikke....??
Er det noget med, at den skal sættes til at selecte den bestemte value ??
men hvis jeg ikke på forhånd ved, hvad brugeren vælger - 'selected' skal være variabel afhængig af, hvad brugeren har valgt. Denne oplysning hentes fra databasen... hvordan det?
så det du så bliver nød til at lave er en funktion (ASP?) som udskriver de forskellige muligheder, og for hver mulighed tjecker, om det er den valgte mulighed, der skrives ud - i så tilfælde skal der så sættes et selected bagved..
derudover - husk at hvis du koder xhtml - så må checked og selected
ikke stå "alene" (såkaldt attribute minimization) - de skal udskrives som checked="checked" / checked="true" og selected="selected" / selected="true"
hvis jeg læser dit indlæg ret, så kender du valuen
rsProfile("kons")
så det du kan gøre er at sige
* gennenløb alle OPTIONS for denne select-boks - Hvis VALUE for en given option er == rsProfile("kons"), så indsæt SELECTED bagefter - ellers udskriv bare OPTION som normalt
Jeg baner mig vej frem med ASP og redigerer og tilpasser en ASP-side jeg har fået fra en ven i england...
Mere konkret lyder min problemstilling således:
Jeg har 3 option value's:
Den første er VALG AF KONSERVATORIUM - går under name="kons". Her er 7 valgmuligheder, hvoraf den første er "" (blank) og som returneres som "ikke udfyldt" hvis denne vælges.
Næste er VALG af hovedinstrument - går under name="instrument". Her er forbandet mange instrumenter at vælge... ;)
Sidste er VALG af biinstrument - name="biinstrument". Lige så mange valg.
---------------------------------------
Hertil har jeg en database hvor brugernes indtastninger bliver gemt. Nu skal jeg trække oplysningerne tilbage til redigering (så brugeren selv kan redigere). Eksempelvis med navn, så sættes den til:
<select name="kons" size="1"> <% for k = 0 to 6 if rsProfile("kons") == konsIDs(k) then sel = "selected" else sel = "" %> <option value="<%=konsIDs(k)%>" <%=sel%> > <%=konsNames(k)%> </option> <% next k %>
det skal dog siges, at det kan gøres noget nemmere, hvis der i databasen er en tabel med henholdsvis navnene på konservatorierne og deres forkortelse - så behøves der nemlig ikke at laves en array for dem..
Derudover skal jeg med det samme sige, at mine kundskaber inden for ASP er ret begrænsede (i forhold til f.eks. PHP og JSP :) så jeg garanterer ikke for at du _bare_ kan kopiere ovenstående kodestump ind på dine sider og det så bare kører (omend det ville være fedt :-)
Det var også derfor at det lige tog mig en halv time at svare - jeg vidste hvad jeg ville gøre, men skulle lige ud og læse noget ASP op for at kunne formulere det som ASP kode :-)))
puha... jeg har tjekket det lidt ud (med trætte øjne)... Og det ser lidt hardcore ud... Jeg fandt vist nogle småfejl, men kan stadig ikke lige få det til at fungere...
Kræver det ikke mange ressorcer af serveren hvis den skal gennemløbe 3 af disse formler, hvor de 2 andre er voldsomt meget større??
Jeg venter sgu' lige til imorgen hvor jeg tænker lidt mere klart :-))
Men rigtig mange gange tak for dit arbejde ;) sov godt.
response.write("<select name='kons' size='1'>") i=0 while not i > Ubound(konsIDs) if rsProfile("kons") = konsIDs(i) then sel = " selected " else sel = "" end if response.write("<option value='" & konsIDs(i) & "'" & sel & ">" & konsNames(i) & "</option>" & VBCrLf) i=i+1 wend response.write("</select>") %>
Musikkons") '(til jeres orientering, så er denne linje er 104) response.write("<select name='kons' size='1'>") i=0 while not i > Ubound(konsIDs) if rsProfile("kons") = konsIDs(i) then sel = " selected " else sel = "" end if response.write("<option value='" & konsIDs(i) & "'" & sel & ">" & konsNames(i) & "</option>" & VBCrLf) i=i+1 wend response.write("</select>") %> </tr>
----------------------------------------------------------- -er det rigtigt? Jeg får en fejl som hedder:
glad to be of service.... og så lige tidsnok til at jeg kan se nyhederne :-)))
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.