asp tutorials, asp.net tutorials, sample code, and Microsoft news from 15Seconds
Data Access  |   Troubleshooting  |   Security  |   Performance  |   ADSI  |   Upload  |   Email  |   Control Building  |   Component Building  |   Forms  |   XML  |   Web Services  |   ASP.NET  |   .NET Features  |   .NET 2.0  |   App Development  |   App Architecture  |   IIS  |   Wireless
 
Pioneering Active Server
 Power Search





Active News
15 Seconds Weekly Newsletter
• Complete Coverage
• Site Updates
• Upcoming Features

More Free Newsletters
Reference
News
Articles
Code Samples
Components
Tools
New
Free
Downloads
Vendors
FAQ
Feedback
Books
Links
DL Archives
Community
Messageboard
List Servers
Mailing List
WebHosts
Consultants
Tech Jobs
15 Seconds
Home
Site Map
Press
Legal
Privacy Policy
internet.commerce














internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

HardwareCentral
Compare products, prices, and stores at Hardware Central!

Completed Code for Creating Dependent Select Objects With ASP Article:


<% @LANGUAGE="VBSCRIPT" %>

<%

Option Explicit

Response.Buffer = True

On Error Resume Next



Dim oConn, oRS, oCmd

Dim aProducts, aTypes, aVendors

Dim iCount

Dim y



Set oConn = Server.CreateObject("ADODB.Connection")

Set oCmd = Server.CreateObject("ADODB.Command")

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



oConn.Open
"Provider=SQLOLEDB;SERVER=(local);DATABASE=product;UID=sa;PWD=jmbutler"

oCmd.ActiveConnection = oConn

oCmd.CommandType = 4



oCmd.CommandText = "sp_GetProductData"

oRS.Open oCmd,,2,3,4

aTypes = oRS.GetRows

Set oRS = oRS.NextRecordset

aVendors = oRS.GetRows

Set oRS = oRS.NextRecordset

aProducts = oRS.GetRows



oRS.Close

Set oRS = Nothing

Set oCmd = Nothing

oConn.Close

Set oConn = Nothing



Response.Write("<HTML>" & chr(13))

Response.Write("<HEAD>" & chr(13))

Response.Write("<TITLE>Dependent HTML Select Boxes
Example</TITLE>" & chr(13))

Response.Write("<STYLE>" & chr(13))

Response.Write("     BODY {font-family: arial; font-size: 12pt; backcolor:
#FFFFFF; text: #00000}" & chr(13))

Response.Write("     SELECT {font-family: arial; font-size: 12pt}" & chr(13))

Response.Write("</STYLE>" & chr(13))

Response.Write("<SCRIPT LANGUAGE=" & chr(34) & "JAVASCRIPT" & chr(34)
& ">" & chr(13))

Response.Write("function vendor(iID, sName, iTypeID) {" & chr(13))

Response.Write("	this.ID = iID;" & chr(13))

Response.Write("	this.Name = sName;" & chr(13))

Response.Write("	this.TypeID = iTypeID;" & chr(13))

Response.Write("}" & chr(13))

Response.Write("function product(iID, sTitle, iTypeID, iVendorID) {" &
chr(13))

Response.Write("	this.ID = iID;" & chr(13))

Response.Write("	this.Title = sTitle;" & chr(13))

Response.Write("	this.TypeID = iTypeID;" & chr(13))

Response.Write("	this.VendorID = iVendorID;" & chr(13))

Response.Write("}" & chr(13))

Response.Write(chr(13))

Response.Write("function getVendors() {" & chr(13))

Response.Write("     var sSelect = '<SELECT NAME=cmbVendors
OnChange=" & chr(34) & "getProducts();" & chr(34) & "><OPTION
VALUE=0 SELECTED></OPTION>';" & chr(13))

Response.Write("     var iTypeID = document.frmProducts.cmbTypes.value;" &
chr(13))

Response.Write("     for (var x=1; x<aVendors.length; x++) {" & chr(13))

Response.Write("          if (aVendors[x].TypeID == iTypeID) {" & chr(13))

Response.Write("               sSelect = sSelect + '<OPTION VALUE=' +
aVendors[x].ID + '>' + aVendors[x].Name + '</OPTION>'" &
chr(13))

Response.Write("          }" & chr(13))

Response.Write("     }" & chr(13))

Response.Write("     sSelect = sSelect + '</SELECT>';" & chr(13))

Response.Write("     document.all['Vendors'].innerHTML = " & chr(34) &
chr(34) & ";" & chr(13))

Response.Write("     document.all['Vendors'].innerHTML = sSelect;" & chr(13))

Response.Write("}" & chr(13))

Response.Write(chr(13))

Response.Write("function getProducts() {" & chr(13))

Response.Write("     var sSelect = '<SELECT
NAME=cmbProducts><OPTION VALUE=0
SELECTED></OPTION>';" & chr(13))

Response.Write("     var iTypeID = document.frmProducts.cmbTypes.value;" &
chr(13))

Response.Write("     var iVendorID =
document.frmProducts.cmbVendors.value;" & chr(13))

Response.Write("     for (var x=1; x<aProducts.length; x++) {" & chr(13))

Response.Write("          if (aProducts[x].TypeID == iTypeID &&
aProducts[x].VendorID == iVendorID) {" & chr(13))

Response.Write("               sSelect = sSelect + '<OPTION VALUE=' +
aProducts[x].ID + '>' + aProducts[x].Title + '</OPTION>'" &
chr(13))

Response.Write("          }" & chr(13))

Response.Write("     }" & chr(13))

Response.Write("     sSelect = sSelect + '</SELECT>';" & chr(13))

Response.Write("     document.all['Products'].innerHTML = " & chr(34) &
chr(34) & ";" & chr(13))

Response.Write("     document.all['Products'].innerHTML = sSelect;" & chr(13))

Response.Write("}" & chr(13))

Response.Write(chr(13))

Response.Write("var aVendors = new Array;" & chr(13))

Response.Write("var aProducts = new Array;" & chr(13))

Response.Write(chr(13))



iCount = 1

For y = 0 To uBound(aVendors,2)

	Response.Write("aVendors[" & iCount & "] = new vendor(" &
aVendors(0,y) & ",'" & aVendors(1,y) & "'," & aVendors(2,y) & ");" &
chr(13))

	iCount = iCount + 1

Next



Response.Write(chr(13))



iCount = 1

For y = 0 To uBound(aProducts,2)

	Response.Write("aProducts[" & iCount & "] = new product(" &
aProducts(0,y) & ",'" & aProducts(1,y) & "'," & aProducts(2,y) & "," &
aProducts(3,y) & ");" & chr(13))

	iCount = iCount + 1

Next



Response.Write("</SCRIPT>" & chr(13))

Response.Write("</HEAD>" & chr(13))

Response.Write("<BODY>" & chr(13))

Response.Write("<FORM NAME=frmProducts ACTION=products.asp
METHOD=POST>" & chr(13))

Response.Write("Product Type:<BR>" & chr(13))

Response.Write("<SELECT NAME=cmbTypes OnChange=" & chr(34) &
"getVendors();" & chr(34) & ">" & chr(13))

Response.Write("  <OPTION VALUE=0 SELECTED></OPTION>"
& chr(13))



For y = 0 To uBound(aTypes,2)

	Response.Write("  <OPTION VALUE=" & aTypes(0,y) & ">" &
aTypes(1,y) & "</OPTION>" & chr(13))

Next



Response.Write("      </SELECT>" & chr(13))

Response.Write("<BR>" & chr(13))

Response.Write("<BR>" & chr(13))



Response.Write("Vendor:<BR>" & chr(13))

Response.Write("<SPAN ID=Vendors>" & chr(13))

Response.Write("<SELECT NAME=cmbVendors OnChange=" & chr(34) &
"getProducts();" & chr(34) & ">" & chr(13))

Response.Write("  <OPTION VALUE=0 SELECTED></OPTION>"
& chr(13))

Response.Write("</SELECT>" & chr(13))

Response.Write("      </SPAN>" & chr(13))

Response.Write("<BR>" & chr(13))

Response.Write("<BR>" & chr(13))



Response.Write("Products:<BR>" & chr(13))

Response.Write("<SPAN ID=Products>" & chr(13))

Response.Write("<SELECT NAME=cmbProducts>" & chr(13))

Response.Write("  <OPTION VALUE=0 SELECTED></OPTION>"
& chr(13))

Response.Write("</SELECT>" & chr(13))

Response.Write("      </SPAN>" & chr(13))

Response.Write("</FORM>" & chr(13))

Response.Write("</BODY>" & chr(13))

Response.Write("</HTML>" & chr(13))

%>





email this code sample to a colleague


Support the Active Server Industry



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers