Avatar billede pfp Nybegynder
28. januar 2004 - 00:40 Der er 10 kommentarer og
1 løsning

Indhold i listbox afhængig af valg i dropdown

Hej,

Jeg har en dropdown liste som indeholder nogle emner. Desuden har jeg en listboks. Indholdet af denne listboks skal bestemmes ud fra hvad der er valgt i dropdown listen.

Jeg har selv forsøgt med en blanding af Javascript og ASP, men kan simpelthen ikke få det til at fungere sammen.

Jeg håber der er en der kan hjælpe mig at få det til at virke.

Her er min kode:
<form name="form1" method="post" action="">
              <select name="select" class="combo">
              <%
              Do While not rs2.eof
              %>
                <option value="<%=rs2("PageID")%>"><%=rs2("Title")%></option>
            <%
            rs2.movenext
            loop
            %>
              </select>
            </form>
            <form name="rang" method="post" onSubmit="submitIt();">
            <table width="100%"  border="0">
              <tr>
                <td width="30%"><select name="Pagesort" size="2" multiple class="listboks" id="select" onChange="doTjekop();doTjekned();">
                    <%
                Do while not rs.eof
                %>
                    <option value="<%=rs("PageID")%>"><%=rs("Title")%></option>
                    <%
                  rs.movenext
                  loop
                  %>
                </select></td>
                <td width="70%" valign="top"><p>
                    <input name="Op" type="button" class="buttons" id="Op" onClick="java script:void(0);" onMouseDown="MoveUp();" value="Ryk op">
                  </p>
                    <p>
                      <input name="Ned" type="button" class="buttons" id="Ned" onClick="java script:void(0);" onMouseDown="MoveDown();" value="Ryk ned">
                    </p>
                    <p>
                      <input name="Gem" type="submit" class="buttons" id="Gem" value="Gem">
                  </p></td>
              </tr>
            </table>
          </form>
Avatar billede pfp Nybegynder
28. januar 2004 - 00:41 #1
Jeg skal have lavet en SQL sætning til indholdet i listboksen. Det skal være:

SQL = "Select * FROM Pages WHERE Parent=" & ID fra emnet valgt i dropdown listen.
Set rs = Conn.Execute(SQL)

Håber det er til at forstå...
Avatar billede thesurfer Nybegynder
28. januar 2004 - 01:34 #2
Virker det du har i dit spm?

Prøv:

<form name="form1" method="post" action="navnet_på_siden_med_med_info.asp"> (f.eks. samme side)

og:
SQL = "Select * FROM Pages WHERE Parent = " request.form("select")

Hvis Parent er reserveret, skal det være:

SQL = "Select * FROM Pages WHERE [Parent] = " & request.form("select")


Når der bruges method="POST", skal man bruge Request.Form("felt_navn")
Når der bruges method="GET", skal man bruge Request.Querystring("variabel_navn")

ASP Lektioner hos html.dk: http://html.dk/tutorials/asp/ (serveren er nede lige nu..)
Avatar billede pfp Nybegynder
28. januar 2004 - 12:33 #3
Ja det virker fint nok, og jeg kan godt kende forskel på Request.Form og Querystring.

Mit spørgsmål går mere på hvordan jeg i en kombination af Javascript og ASP laver min SQL dynamisk ud fra den værdi der bliver valgt i combo boksen. Hvis bare jeg kunne hente en Javascript ind i mit ASP var det intet problem..men ak
Avatar billede thesurfer Nybegynder
28. januar 2004 - 12:48 #4
hmm..
Virker det nu, eller skal du have mere hjælp?
Hvis du skal have mere hjælp, skriv venligst hvad det er du skal have hjælp til.
Så mange detaljer som muligt.
Avatar billede eagleeye Praktikant
28. januar 2004 - 12:57 #5
Her et javascript som viser to eller 3 afhængige select's, som kan opdateres alt efter valgt uden at reloade siden hver gang:
http://roenving.users.whitehat.dk/index.html?/WD4Selects-beta.html

ASP koden til eks med 3 selects: http://www.eksperten.dk/spm/385519
ASP koden til eks med 2 selects kan laves ud fra det første eks. Eller kan jeg findet det senere i eftermiddag.


Et andet alternativ eks med ASP kode og 2 select bokse: http://www.eksperten.dk/spm/240907
Avatar billede pfp Nybegynder
28. januar 2004 - 17:43 #6
eagleeye -> Jeg tror det er du har henvist til i http://www.eksperten.dk/spm/240907 jeg leder efter. Jeg prøver lige at lege med det og så vender jeg tilbage.
Avatar billede pfp Nybegynder
28. januar 2004 - 18:13 #7
eagle -> Jeg prøver lige at forklare mig lidt bedre, og så håber jeg du kan hjælpe mig lidt videre.

Jeg vil liste alle mine hovedsider i en combobox. Antag at det item jeg har i denne combobox har PageID = 3. Hver gang der bliver valgt et andet item i min combobox (onChange?) skal der udføres en SQL sætning for mine undersider. Denne SQL skal vælge undersider hvor mit databasefelt "parent" = PageID fra combobox. På den måde skal undersider der hører til en hovedside udskrives i en listbox under comboboxen.

Jeg har svært ved at forklare det, men håber det er til at forstå.

Jeg sidder og roder med det nu, men kan ikke rigtig beslutte mig for om alle hovedsider og undersider skal indlæses i arrays, eller om det er nok med undersiderne?

Håber virkeligt du kan hjælpe mig.

Mvh Peter
Avatar billede eagleeye Praktikant
28. januar 2004 - 18:16 #8
Ok, så det ikke javascript du skal havde fat i. Javascriptet bruges hvis man ikke vil submitte formen for at hendte undersiderne.

Så skal det laves med ASP, kan lige give et eks.
Avatar billede eagleeye Praktikant
28. januar 2004 - 18:27 #9
Er det så sådan her du mener?


<%
'Hendt den valgte pageid
pageid = Request.Form("pageid")

Set Conn = Server.CreateObject("ADODB.Connection")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db101.mdb")
Conn.Open connStr
%>
<form name="sels" method="post">
<select name="pageid" onchange="this.form.submit();">
<%
'Find og list alle med parent=0
SQL = "SELECT pageID, title FROM tabelnavn WHERE parent = 0 ORDER BY pageID"
Set rs = Conn.Execute(SQL)
do while not rs.EOF
  Response.Write "<option value=""" & rs("pageid") & """"
  if CStr(pageid) = CStr(rs("pageid")) then Response.Write " selected "
  Response.Write ">" & rs("title") & "</option>"
  rs.Movenext
loop
%>
</select>
<br>
<select name="undermemnuer">
<%
'Find alle under menuer til den valgt menu
if pageid <> "" then
  SQL = "SELECT pageID, title FROM tabelnavn WHERE parent = " & pageid & " ORDER BY pageID"
  Set rs = Conn.Execute(SQL)
  do while not rs.EOF
    Response.Write "<option value=""" & rs("pageid") & """>" & rs("title") & "</option>"
    rs.Movenext
  loop
end if
%>
</select>
</form>
Avatar billede pfp Nybegynder
28. januar 2004 - 18:37 #10
Det var lige præcis det jeg ønskede mig. Tusind tak for hjælpen!

Smid et svar, så du kan få point.
Avatar billede eagleeye Praktikant
28. januar 2004 - 19:03 #11
Ok her et svar ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester