15. maj 2003 - 11:02Der er
22 kommentarer og 2 løsninger
Hvordan fastholder jeg valgte item i en combobox
Jeg har følgende script
<%@Language=VBScript%>
<%Response.Expires = -1 Response.Buffer = True %>
<html> <head><title>Counter statistics for Jamo intranet sites</title></head> <body bgcolor="#E6E6DF"> <font face=verdana> <h3><img border="0" src="../images/jamologo.gif"></h3> <font size="2">Select which intranet site you want to see the statistics for. </font> <Form name=frmMain method=post action=Default.asp> <p> <font size="2">Sitename:</font> <SELECT name=cboPages width=15> <% 'The following code retrieves the site-names in the tblCounters table from the Counters.mdb database, 'and displays the names in a listbox. dim objConn 'ADO Connection object dim objRS 'ADO Recordset object dim strConnectString 'database connection string dim ctr 'counter variable dim strTemp
'NOTE: you must have Access 2000 or the equivalent driver installed for this sample to work strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data " strConnectString = strConnectString & "Source=" & Server.MapPath("\webdata/counters.mdb") strConnectString = strConnectString & ";Persist Security Info=False"
set objConn = server.CreateObject("ADODB.Connection") set objRS = server.CreateObject ("ADODB.Recordset")
objConn.ConnectionString = strConnectString objConn.Open 'Retrieve an recordset objRS.Open "SELECT fldPage FROM tblCounters GROUP BY fldPage ORDER BY fldPage;", objConn
'Display site names in the drop down box. ctr = 0 Do While Not objRs.EOF strTemp = Replace(objRS("fldPage").Value, " ", "-") ' Response.Write "<option value=" & objRS("fldPage").Value & ">" Response.Write "<option value=" & strTemp & ">" Response.Write objRS("fldPage").Value Response.Write "</option>" ctr = ctr + 1 objRs.MoveNext Loop
objRS.Close objConn.Close set objConn = nothing set objRS = nothing %> </SELECT> <INPUT type=submit name=cmdSubmit value="Show Chart"> </p> </Form> <% 'If user has press the "Show Chart" button then display chart if Request.Form ("cmdSubmit") = "Show Chart" then 'Pass a query string to the MakeChart.asp 'The MakeChart.asp will generate a chart based on the user selected site Response.Write "<center><img width=800 height=450 src=MakeChart.asp?" Response.Write "PageToView=" & Request.Form ("cboPages") Response.Write "></center>" else Response.Write "<center><img width=800 height=450 src=MakeChart.asp?" Response.Write "PageToView=JamoSales" Response.Write "></center>" end if %> </font> </body> </html>
Det læser nogle data fra en tabel og indsætter dem som items i en combobox. Så langt virker alt fint nok. Men når jeg så vælger et punkt og trykker på knappen ryger den tilbage til det første punkt på listen. Her ville jeg gerne kunne fastholde det punkt der er valgt, så det er det der vises når brugern får vist de data der er valgt.
Håber det er forståeligt.
PS. jeg er IKKE nogen ørn til ASP, men jeg håber at kunne lære det med tiden.
Som I kan se ud af koden, har jeg en knap der skal trykkes på for at opdatere - kan man ikke lave det sådan at der sker noget når comboboxen skifter indhold (som man kan i Access)
Tror jeg ikke, jeg har rettet i dem, så de burde virke, men jeg får at vide at den gruppering jeg bruger er ugyldig, men jeg har slettet group by i din sql, så jeg ved ikke helt hvad det er der er galt...
det er nok det, så kører du jo IIS (jeg kører PWS)
Så jeg kan nok ikke rigtig hjælpe dig med det, men prøv: <SELECT name=cboPages width=15 onChange="top.location.href=this.form.cboPages.options[this.form.cboList.selectedIndex].value"> i stedet for det der står i din select nu...
PWS er den skrabede udgave. i IIS er der fx. smtp server Men ved ikke om det er derfor. Bare et gæt!
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.