您的位置:首页网页设计ASP实例 → 建立动态下拉式选单三阶层

建立动态下拉式选单三阶层

时间:2004/11/7 2:57:00来源:本站整理作者:蓝点我要评论(0)

'建立動態下拉式選單 (三階層)



<%'将资料库连结字串, SQL 叙述,形成第一个表单字串变数 (colorlist),第一个表单名称 'color,形成第二个表单字串变数 (fruitlist),第二一个表单名称 fruit,形成第三个表单字串变数 '(pricelist),第三个表单名称 price,等资讯透过呼叫副程式的方式经过处理之后再传回主程式'中,请注意有某几个参数是以 ByRef 的方式传回主程式,而某些参数是以 ByVal 的方式传回'的紫色粗体字代表是 ByRef。请直接观看底下副程式的部分

myDSN="Provider=SQLOLEDB; Data Source=Jackal; Initial Catalog=pubs; User ID=sa; Password="

strSQL="select color.color, fruit.fruit, price.cost from color join fruit on color.ID=fruit.COLORID join price on price.FRUITID=fruit.ID order by color.ID"

call listmaker(myDSN, strSQL, colorlist,"color", fruitlist ,"fruit", pricelist, "price", pubevent, pubfun, "myForm")%>


颜色:

<%= colorlist%>






水果:





<%= fruitlist%>






价格:

<%= pricelist%>











<%



SUB listmaker(myDSN, strSQL,byref list1, listname1, byref list2, listname2, byref list3, listname3, byref myevent, byref myfun, myForm)

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

my_conn.open myDSN

set rs=my_conn.execute(strSQL)

'利用 colorlist 字串变数来建立第一个下拉式选单的 Html 原始码。

colorlist="
fruitlist=fruitlist & "(this.selectedIndex);"">"

'利用 pricelist 字串变数来建立第三个下拉式选单的 Html 原始码。

pricelist=""

'将 fruit 下拉式选单作一个结尾

fruitlist= fruitlist & ""

'将 price 下拉式选单作一个结尾

pricelist= pricelist & ""



'一开始的 key 和 key1 阵列也不要忘记定义了。



myevent=vbcrlf & "key=new Array(" & howmanygroups+1 & ");"

myevent=myevent & vbcrlf & "key1=new Array(" & howmanygroups+1

myevent=myevent & ");" & vbcrlf & tempSTR



'大功告成,可以关闭资料库了。

rs.close

set rs=nothing

my_conn.close

set my_conn=nothing



'先产生 Buildkey 副程式,这边一点都不困难,原理在上面已经解释过了,笔者不再赘述,执行结果为:

function Buildkey(num)

{

Buildkey1(0);

document.myForm.fruit.selectedIndex=0;

for(ctr=0;ctr
{

document.myForm.fruit.options[ctr]=new Option(key[num][ctr],key[num][ctr]);

}

document.myForm.fruit.length=key[num].length;

}



tempSTR =vbcrlf & "function Buildkey" & "(num)" & vbcrlf

tempSTR =tempSTR & "{" & vbcrlf

tempSTR =tempSTR & "Buildkey1(0);" & vbcrlf

tempSTR =tempSTR & "document." & myForm & "."

tempSTR =tempSTR & listname2 & ".selectedIndex=0;" & vbcrlf

tempSTR =tempSTR & "for(ctr=0;ctr
tempSTR =tempSTR & "{" & vbcrlf

tempSTR =tempSTR & "document." & myform & "." & listname2

tempSTR =tempSTR & ".options[ctr]=new Option(key[num][ctr],"

tempSTR =tempSTR & "key[num][ctr]);" & vbcrlf

tempSTR =tempSTR & "}" & vbcrlf

tempSTR =tempSTR & "document." & myForm & "." & listname2

tempSTR =tempSTR & ".length=key[num].length;" & vbcrlf

tempSTR =tempSTR & "}" & vbcrlf



'再产生 Buildkey1 副程式

function Buildkey1(num)

{

document.myForm.price.selectedIndex=0;

for(ctr=0;ctr
document.myForm.price.options[ctr]=new Option(key1[document.myForm.color.selectedIndex][num][ctr],key1[document.myForm.color.selectedIndex][num][ctr]);

}

document.myForm.price.length=key1[document.myForm.color.selectedIndex][num].length;

}



tempSTR =tempSTR & vbcrlf & "function Buildkey1" & "(num)" & vbcrlf

tempSTR =tempSTR & "{" & vbcrlf

tempSTR =tempSTR & "document." & myForm & "."

tempSTR =tempSTR & listname3 & ".selectedIndex=0;" & vbcrlf

tempSTR =tempSTR & "for(ctr=0;ctr
tempSTR =tempSTR & "document." & myform & "." & listname3

tempSTR =tempSTR & ".options[ctr]=new Option(key1[document.myForm.color.selectedIndex][num][ctr],"

tempSTR =tempSTR & "key1[document.myForm.color.selectedIndex][num][ctr]);" & vbcrlftempSTR =tempSTR & "}" & vbcrlf

tempSTR =tempSTR & "document." & myForm & "." & listname3

tempSTR =tempSTR & ".length=key1[document.myForm.color.selectedIndex][num].length;" & vbcrlftempSTR =tempSTR & "}" & vbcrlf

myfun=tempSTR

END sub

%> 

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码