11. september 2003 - 11:39Der er
8 kommentarer og 1 løsning
Selectmenu med tilhørende visningsfelt
Har lige et lille problem:
Hvis jeg har en tabel i Access:
Tabel 1 (Sted) Navn Omrnr
Jeg henter indholdet af "Navn" kolonnen ud i en selectmenu på følgende måde:
<SELECT NAME="tjenestested1" TABINDEX="2" onChange="select_tjenestested1(this.selectedIndex)"> <OPTION></OPTION> <% CONST adOpenStatic = 3, adLockReadOnly = 1, adCmdText = &H0001 Dim connectionString, CONN_USER, CONN_PASS Dim recordSet21 Dim forbindelse Dim strSQL21 Dim navn21
connectionString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("xxx.mdb") set recordSet21 = server.CreateObject("ADODB.Recordset") set forbindelse = server.CreateObject("ADODB.Connection")
Det kommer an på om siden må reloades og finde det tilhørne omrnr eller om man skal trække både navn og omrnr ud og lave et Javascript som opdater feltet omr når man vælger et navn??
Ja jeg har et eks. Dette eks er hendter alle postnr og bynavne fra en tabel og liste post nummerne i en dropbown og når der vælges et post nummer udfyldes bynavnet automatisk.
Du kan evt. prøve at se om du kan få det til at virke med dit, eller så bare spørg ;)
<% set rs = server.CreateObject("ADODB.Recordset") set Conn= server.CreateObject("ADODB.Connection") Conn.Open "Data Source="& server.mappath("db10.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;" %> <HTML> <head> <SCRIPT LANGUAGE="JavaScript"> function postnrChange(){ var bynavnarr = new Array(); bynavnarr[0] = ""; <% set RS= Conn.Execute ("SELECT * FROM postnumre") OptionString = "<OPTION VALUE=""none"">Vælg her...</OPTION>" i = 1 Do Until RS.EOF OptionString = OptionString & "<OPTION VALUE=""" & rs("postnr") & """>" & rs("postnr") & "</OPTION>" %> bynavnarr[<%=i%>] = "<%=rs("bynavn")%>"; <% i = i +1 rs.MoveNext Loop rs.Close Conn.close %> if (document.testForm.postnr.selectedIndex > 0) { document.testForm.bynavn.value = bynavnarr[document.testForm.postnr.selectedIndex]; } else { document.testForm.bynavn.value = ""; } } </SCRIPT> </head> <body onload="postnrChange()"><center>
<SELECT NAME="tjenestested1" TABINDEX="2" onChange="select_tjenestested1(this.selectedIndex)"> <OPTION></OPTION> <% CONST adOpenStatic = 3, adLockReadOnly = 1, adCmdText = &H0001 Dim connectionString, CONN_USER, CONN_PASS Dim recordSet21 Dim forbindelse Dim strSQL21 Dim navn21
connectionString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Stamdata.mdb") set recordSet21 = server.CreateObject("ADODB.Recordset") set forbindelse = server.CreateObject("ADODB.Connection")
Som det er nu selecter jeg "Halnavn" Som svarer til Postnr i dit eksempel. Feltet som svarer til By hedder "Planomrnr". Som du kan se så har min selectmenu en onChange som viser/skjuler nogle divs så hvis man kunne lægge noget af din kode ind i denne onChange... Jeg ved bare ikke lige hvordan det skal gøres. Du skal nok få nogle flere point hvis du kan skrue din kode ind i min :)
Da man både skal lave et javascript array samt flyde en <option> list er det lavet sådan at <option> laves i en streng på samme tid som arrayey laves og skrive samlet ud når der er behov for det. Prøv dette:
Jeg har være nød til at udkommentere et par linjer i dit javascitp hvor den forsøger at vise og fjerne nogle id's som ikke er, samt navet på det indput som values skulle rettes på er rette:
<% CONST adOpenStatic = 3, adLockReadOnly = 1, adCmdText = &H0001 Dim connectionString, CONN_USER, CONN_PASS Dim recordSet21 Dim forbindelse Dim strSQL21 Dim navn21
connectionString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Stamdata.mdb") set recordSet21 = server.CreateObject("ADODB.Recordset") set forbindelse = server.CreateObject("ADODB.Connection")
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.