|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now! |
|
#1
|
|||
|
|||
|
XML based dynamic dropdown menus in ASP
I am trying to create an XML based set of nested drop down menus. Essentially you would have three (or n) menus (i.e. Make, model, year). Each menu is dependent on the value of the previous box to populate itself and is dynamically updated via JavaScript when its parent box is changed.
I know how to do this with JavaScript arrays, but populating the arrays in ASP from an SQL server can take some time, and the data is static within a 24 hour period. My idea is to have a XML doc stored on the server that the client can reference in the JavaScript routine and build the arrays on the client side w/o slowing the bogging down the page rendering with a SQL process. Any help would be appreciated. Thanks JM p.s. here is how I am currently doing it with ASP rendering inside of JavaScript. <% iIDC = 1 %> <% Do While Not rsIDCGet.EOF %> laIDC[<%=iIDC%>] = new IDC(); laIDC[<%=iIDC%>].myName = "<%=rsIDCGet("IDC")%>"; laIDC[<%=iIDC%>].LongValue = <%=rsIDCGet("IDCID")%>; laIDC[<%=iIDC%>].Cust = new Array(); laIDC[<%=iIDC%>].Cust[0] = new Cust(); laIDC[<%=iIDC%>].Cust[0].myName = "Select a Customer"; laIDC[<%=iIDC%>].Cust[0].LongValue = -1; laIDC[<%=iIDC%>].Cust[0].TmpHost = new Array('Select a Host'); <% ComDBA.ParameterClear ComDBA.Parameter 1, Session("LEID") ComDBA.Parameter 2, Session("UserID") ComDBA.Parameter 3, rsIDCGet("IDCID") Set rsCustsGet = ComDBA.ExecProc("usp_mss_Customers_Get") If ComDBA.ReturnCode <> 0 Then Response.Write(ComDBA.ErrorDesc) End If %> laIDC[<%=iIDC%>].Cust[1] = new Cust(); laIDC[<%=iIDC%>].Cust[1].myName = "All Customers"; laIDC[<%=iIDC%>].Cust[1].LongValue = 0; laIDC[<%=iIDC%>].Cust[1].TmpHost = new Array('Select a Host','All Hosts'); <% iCust=2 %> <% Do While Not rsCustsGet.EOF %> laIDC[<%=iIDC%>].Cust[<%=iCust%>] = new Cust(); laIDC[<%=iIDC%>].Cust[<%=iCust%>].myName = "<%=Replace(rsCustsGet("CustName"),vbCrLf,"")%>"; laIDC[<%=iIDC%>].Cust[<%=iCust%>].LongValue = <%=rsCustsGet("CustID")%>; <% ComDBA.ParameterClear ComDBA.Parameter 1, rsCustsGet("CustID") ComDBA.Parameter 2, Session("UserID") Set rsHostNamesGet = ComDBA.ExecProc("usp_mss_HostNames_Get") If ComDBA.ReturnCode <> 0 Then Response.Write(ComDBA.ErrorDesc) End If sHosts = "'Select a Host','All Hosts'" Do While Not rsHostNamesGet.EOF sHosts = sHosts & ",'" & rsHostNamesGet("HostName") & "'" rsHostNamesGet.MoveNext Loop %> laIDC[<%=iIDC%>].Cust[<%=iCust%>].TmpHost = new Array(<%=sHosts%>); <% rsCustsGet.MoveNext() %> <% iCust = iCust + 1 %> <% Loop %> <% rsIDCGet.MoveNext() %> <% iIDC = iIDC + 1 %> <% Loop %> |
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > XML Programming > XML based dynamic dropdown menus in ASP |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|