Avatar billede justdoit Nybegynder
28. oktober 2002 - 23:20 Der er 23 kommentarer og
2 løsninger

Valg af selectbox ind i variabel....

Jeg har en selectbox som indeholder data fra en tabel1 i min database.

Når jeg vælger et navn fra selectboxen, vil jeg gerne have lagt navnet ind i en variabel (eller noget lignende), sådan at jeg kan få hente nogle navne fra tabel2 der passer til, ind i en ny selectbox.

<form name="form1">
  <select name="Dyr" onChange="noget her">
(her åbner jeg db)
    <option value="<%=objRec("id")%>"><%=objRec("navn")%>
(her lukkes db)
</option>
  </select>
</form>

Hvordan ligger jeg fx det i en variabel, sådan at jeg kan lave følgende:

strSQL = "SELECT * FROM mad WHERE u_ID = " & rs("id")
Avatar billede medions Nybegynder
28. oktober 2002 - 23:22 #1
<form name="form1" method="post" action="find.asp">
  <select name="Dyr" onChange="noget her">
(her åbner jeg db)
    <option value="<%=objRec("id")%>"><%=objRec("navn")%>
(her lukkes db)
</option>
  </select>
</form>

Find.asp:
strSQL = "SELECT * FROM mad WHERE u_ID = " & Request.Form("Dyr")

//>Rune
Avatar billede justdoit Nybegynder
28. oktober 2002 - 23:32 #2
Hvad skal der stå her: onChange="noget her"

Sådan at når jeg klikker på noget i select, så går den over og finder
Find.asp:
strSQL = "SELECT * FROM mad WHERE u_ID = " & Request.Form("Dyr")
??
Avatar billede medions Nybegynder
28. oktober 2002 - 23:33 #3
Øhh der skal ik' stå noget... Det er kun til hvis du har noget klient scripting du skal ha' fyret af, og det har du næppe i denne samhæng!

//>Rune
Avatar billede justdoit Nybegynder
28. oktober 2002 - 23:49 #4
Det forstår jeg altså ikke helt, jeg syntes jeg har gjort som du siger, men der bliver ikke hentet noget ned i den 2. select:

Her er min kode:


<form name="ann" action="opretannonce.asp.asp" method="post">
                          <tr>
                            <td height="20"></td>
                          </tr>
                          <tr>
                            <td>V&aelig;lg i menuen nedenfor, under hvilken kategori,
                              du vil oprette din annonce.</td>
                          </tr><tr>
                            <td height="10"></td>
                          </tr>
                            <tr>
                              <td>
                                <select name="menukategori" class="annonceform">
                                <option value="">--- Vælg en kategori ---</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
'Åbner connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString
 
sql = "SELECT * FROM Kategori"

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open sql, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("kategoriId")%>"><%=objRec("kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend
%>
                                </select></td>
                            </tr>
                            <tr>
                              <td height="10"></td>
                            </tr>
                            <tr>
                              <td><select name="menuu_kategori" class="annonceform">
                                <option value="">--- Vælg en kategori ---</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
sql = "SELECT * FROM u_katagori WHERE u_kategoriID = " & Request.Form("menukategori")

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open strSQL, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("Id")%>"><%=objRec("u_kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend

objRec.close
Conn.Close
Set Conn = Nothing
%>
                                </select></td>
                            </tr>
Avatar billede medions Nybegynder
28. oktober 2002 - 23:51 #5
Prøv sådan her:

<form name="ann" action="opretannonce.asp" method="post">
                          <tr>
                            <td height="20"></td>
                          </tr>
                          <tr>
                            <td>V&aelig;lg i menuen nedenfor, under hvilken kategori,
                              du vil oprette din annonce.</td>
                          </tr><tr>
                            <td height="10"></td>
                          </tr>
                            <tr>
                              <td>
                                <select name="menukategori" class="annonceform">
                                <option value="">--- Vælg en kategori ---</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
'Åbner connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString
 
sql = "SELECT * FROM Kategori"

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open sql, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("kategoriId")%>"><%=objRec("kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend
%>
                                </select></td>
                            </tr>
                            <tr>
                              <td height="10"></td>
                            </tr>
                            <tr>
                              <td><select name="menuu_kategori" class="annonceform">
                                <option value="">--- Vælg en kategori ---</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
sql = "SELECT * FROM u_katagori WHERE u_kategoriID = " & Request.Form("menukategori")

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open strSQL, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("Id")%>"><%=objRec("u_kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend

objRec.close
Conn.Close
Set Conn = Nothing
%>
                                </select></td>
                            </tr>

Får du evt. en fejl?

//>Rune
Avatar billede justdoit Nybegynder
28. oktober 2002 - 23:56 #6
Nej jeg får ingen fejl??
Avatar billede medions Nybegynder
28. oktober 2002 - 23:58 #7
du er jo nødt til at ha' det opdelt... I enten 2 filer, eller ha' en If..Then statement til at recive!

//>Rune
Avatar billede justdoit Nybegynder
29. oktober 2002 - 00:06 #8
Det forstår jeg ikke:

Hvis jeg har 1. select her

skal jeg så have en If noget i variablen then noget

else???

Jeg er helt lost!
Avatar billede medions Nybegynder
29. oktober 2002 - 00:12 #9
Det er sådan her jeg mener:


<form name="ann" action="opretannonce.asp?show=secound" method="post">
                          <tr>
                            <td height="20"></td>
                          </tr>
                          <tr>
                            <td>V&aelig;lg i menuen nedenfor, under hvilken kategori,
                              du vil oprette din annonce.</td>
                          </tr><tr>
                            <td height="10"></td>
                          </tr>
                            <tr>
                              <td>
                                <select name="menukategori" class="annonceform">
                                <option value="">--- Vælg en kategori ---</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
'Åbner connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString
 
sql = "SELECT * FROM Kategori"

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open sql, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("kategoriId")%>"><%=objRec("kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend

If Request.QueryString("show") = "secound" Then
%>
                                </select></td>
                            </tr>
                            <tr>
                              <td height="10"></td>
                            </tr>
                            <tr>
                              <td><select name="menuu_kategori" class="annonceform">
                                <option value="">--- Vælg en kategori ---</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
sql = "SELECT * FROM u_katagori WHERE u_kategoriID = " & Request.Form("menukategori")

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open strSQL, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("Id")%>"><%=objRec("u_kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend

objRec.close
Conn.Close
Set Conn = Nothing
%>
                                </select></td>
                            </tr>
<%
    End If
%>

//>Rune
Avatar billede justdoit Nybegynder
29. oktober 2002 - 00:20 #10
Nemlig, det er lige sådan noget jeg leder efter, og det ser godt ud, men når jeg klikker på den første selectbox, der skulle kalde opretannonce.asp?show=secound, så sker der ikke noget, kan du se hvorfor ikke??
Avatar billede medions Nybegynder
29. oktober 2002 - 00:21 #11
Det er fordi du skal lave en OnClick="this.submit();" i din form!
-nå, jeg vil i seng nu, det har sq været en hård dag..

natnat

//>Rune
Avatar billede justdoit Nybegynder
29. oktober 2002 - 00:26 #12
ok, men mange tak for hjælpen ind til nu, jeg vil arbejde lidt videre, - sov godt ;o)
Avatar billede justdoit Nybegynder
29. oktober 2002 - 00:44 #13
Jeg har arbejdet lidt videre med det, og lige nu ser min kode ud som den står nedenfor:

1) Jeg har lavet en onClick, men lie nu henter den opretannonce.asp?show=secound bare jeg klikker på select - dermed kan jeg jo ikke nå at vælge noget indhold inden den submitter!

2) Hvis jeg alligevel holder musetasten nede og vælger en kategori, så finder den stadig ikke de opster i den anden tabel, som svarer til det Id der skal passe! Jeg har lavet det sådan nu:

Dim annonceId
annonceId = Request.Form("menukategori")                                 
sql = "SELECT * FROM u_katagori WHERE u_kategoriID = " & annonceId

Hvor annonceId jo er et tal:

Her er hele koden:

<form name="annonce" action="opretannonce.asp?show=secound" method="post">
                          <tr>
                            <td height="20"></td>
                          </tr>
                          <tr>
                            <td>V&aelig;lg i menuen nedenfor, under hvilken kategori,
                              du vil oprette din annonce.</td>
                          </tr><tr>
                            <td height="10"></td>
                          </tr>
                            <tr>
                              <td>
                                <select name="menukategori" class="annonceform" OnClick="annonce.submit();" >
                                <option value="">--- Vælg en kategori ---</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
'Åbner connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString
 
sql = "SELECT * FROM Kategori"

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open sql, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("kategoriId")%>"><%=objRec("kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend

If Request.QueryString("show") = "secound" Then
%>
                                </select></td>
                            </tr>
                            <tr>
                              <td height="10"></td>
                            </tr>
                            <tr>
                              <td><select name="menuu_kategori" class="annonceform">
                                <option value="">-- Vælg en underkategori --</option>
                                <option value="">&nbsp;-----------------------------</option>
                                  <%
Dim annonceId
annonceId = Request.Form("menukategori")                                 
sql = "SELECT * FROM u_katagori WHERE u_kategoriID = " & annonceId

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open strSQL, Conn
While NOT objRec.EOF
%>
                                  <option value="<%=objRec("Id")%>"><%=objRec("u_kategoriNavn")%></option>
                                  <%
objRec.MoveNext
Wend

objRec.close
Conn.Close
Set Conn = Nothing
%>
                                </select></td>
                            </tr>
<%
    End If
%>
Avatar billede papman Nybegynder
29. oktober 2002 - 10:00 #14
Jeg er også lidt lost... Virker det ?
Avatar billede justdoit Nybegynder
29. oktober 2002 - 10:07 #15
Nej det virker ikke endnu, men jeg har stor tillid til medions, så det skal det forhåbentlig nok komme til ;o)
Avatar billede medions Nybegynder
29. oktober 2002 - 15:30 #16
justdoit> Jeg skal på arbejde fra nu af og til omkring de 23 stykker, så vender jeg lige tilbage...

//>Rune
Avatar billede justdoit Nybegynder
29. oktober 2002 - 16:11 #17
Det er bare helt i orden, så vender jeg tilbage engang ved 23.30 tiden, og ser om du har fundet ud af noget ;o)
Avatar billede medions Nybegynder
29. oktober 2002 - 21:41 #18
Ok, back...

Hvad gør den nu siden den ik' virker?

//>Rune
Avatar billede justdoit Nybegynder
30. oktober 2002 - 09:17 #19
Hej, øhh jeg har ikke fået nogen mail om at du havde svaret, så derfor så jeg ikke dit indslag - sorry!

Ok, det der sker er at når jeg klikker på den første select box, sådan at "rullemenuen" skal komme frem, så gør den onClick event, at jeg ikke når at vælge inden den henter opretannonce.asp?show=secound
Avatar billede justdoit Nybegynder
30. oktober 2002 - 09:20 #20
Det næste der sker det er at hvis jeg alligevel får valgt en overskrift i første select box, så finder den ikke de id'er der passer til i den nye selectbox??

Men der er ingen fejl på siden!
Avatar billede justdoit Nybegynder
30. oktober 2002 - 10:15 #21
Jeg har lige fundet ud af at denne:

Dim annonceId
annonceId = Request.Form("menukategori") 

Ikke udskriver et tal, men bare ordet annonceId
Avatar billede justdoit Nybegynder
30. oktober 2002 - 10:35 #22
ok, jeg har selv fået bøvlet lidt rundt og brugt en onChange i stedet for onClick, og jeg er ved at være på sporet - tror jeg ;o)

Men tak alligevel!
Avatar billede medions Nybegynder
30. oktober 2002 - 13:35 #23
Thx 4 Poinz

//>Rune
Avatar billede papman Nybegynder
31. oktober 2002 - 09:42 #24
>>justdoit
Jeg kunne godt tænke mig at se koden gidder du ikke at poste eller sende den ?

Pft
mvh PAPman2000@yahoo.dk
Avatar billede justdoit Nybegynder
31. oktober 2002 - 10:51 #25
Den står her: 29/10-2002 00:44:25, det er den jeg bruger!
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