下拉列表中传递多个值

王朝asp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

一个下拉列表有许多项,当选择其中某一项时,可以给后一页传递两个参数,该怎么做?

比如:

我在下拉列表选了“国内新闻”这一项,执行FORM后向后页传递两个参数:type="国内新闻",class="2"。

在下拉列表选了“国外新闻”这一项,执行FORM后向后页传递两个参数:type="国外新闻",class="3"。

这该怎么做?

我知道二级联动可以实现,但如果不用二级联动,怎样解决这个问题?

form.htm

---------------------------------------------------------

<form name="form1" method="post" action="to.asp">

<select size="1" name="new" ID="Select" onchange="javaScript:document.form1.submit();">

<option selected value="国内新闻,2">国内新闻</option>

<option value="国外新闻,3">国外新闻</option>

</select>

</form>

---------------------------------------------------------

to.asp

--------------------------------------------------------

<%

new=split(request.form("new"),",",2)

Response.Write "type=" & new(1) & ",class=" & new(2)

%>

--------------------------------------------------------

form.htm里下拉列表传值是传一个值,但值里是用‘,’号分隔的两组数据。

to.asp里是将传来的值分解开成new数组,两个数据new(1),new(2)

近来问连动下拉列表的人很多,我就自己做了一个,自己暂时不用,完全是给大家分享的,数据库结构采用常见的省份和城市,数据库结构结构来自csdn某文章,大家可以自己改。有什么意见请提出来,要代码文件和数据库请开贴放分并且留下email。

本文完全VBS制作,结交VBS高手,我用VBS能做出Javascript能做的一切QQ:28963147,email:panyuguang962@sohu.com

Access数据库

● 数据库名:DB_ProvinceCat

● 表名:1)Tb_Province 2)Tb_City

说明:表Tb_Province用来存放省份名称;表Tb_City用来存放相应的城市名称。

● 字段名的设计

1) 表Tb_Province的字段有省份ID号(ProvinceCatID)、省份代码(ProvinceCode)、省份名称(ProvinceName),表1给出了示例:

ProvinceCatID ProvinceCode ProvinceName

1 01 北京市

2 02 上海市

3 03 天津市

4 04 重庆市

5 05 广东省

6 06 浙江省

7 07 福建省

8 08 海南省

9 09 江苏省

表1

2) 表Tb_City的字段有城市ID号(CityID)、城市代码(CityCode)、城市名称(CityName),表2给出了示例:

CityID CityCode CityName

1 01001 北京市

2 02001 上海市

3 03001 天津市

4 04001 重庆市

5 05001 广州市

6 05002 深圳市

7 05003 珠海市

8 05004 茂名市

9 05005 中山市

10 06001 杭州市

11 06002 温州市

12 07001 福州市

13 07002 厦门市

14 08001 海口市

15 08002 三亚市

16 08003 万宁市

17 08004 五指山市

18 09001 南京市

19 09002 苏州市

表2

说明:这里要注意的一点就是,身份代码要对应城市代码的头两位,数据库尽量不要出现有父亲没儿子的事情。

文件:TwoSelect.asp经简单测试好用!

<HTML>

<HEAD>

<META name=VI60_defaultClientScript content=VBScript>

<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

</HEAD>

<BODY>

<%

Dim Cn,Rs

Dim SQL,StrDSN

Dim MyArray()

Set cn=Server.CreateObject("ADODB.connection")

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

StrDSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DB_ProvinceCat.mdb")

Cn.Open strDSN

SQL="select * from Tb_Province order by ProvinceCatID"

Rs.Open SQL,cn,3,2

Rs.MoveFirst

redim MyArray(Rs.RecordCount-1)

%>

<table width="273" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="96"> <SELECT id=select1 style="WIDTH: 96px" name=select1>

<OPTION selected value=select<%=Rs("ProvinceCode")%>><%=Rs("ProvinceName")%></OPTION>

<%

MyArray(0)=Rs("ProvinceCode")

Rs.MoveNext

for i=1 to Rs.RecordCount-1

%>

<OPTION value=select<%=Rs("ProvinceCode")%>><%=Rs("ProvinceName")%></OPTION>

<%

MyArray(i)=Rs("ProvinceCode")

Rs.MoveNext

next

%>

</SELECT>

<%

Rs.Close

%>

</td>

<td width="96">

<%

for i=0 to ubound( MyArray)

SQL="select * from Tb_City where CityCode like '" & MyArray(i) & "%'"

'Response.End

Rs.Open SQL,cn,3,2

if Rs.RecordCount >0 then

Rs.MoveFirst

%>

<SELECT id=select<%=MyArray(i)%> style="WIDTH: 96px;display='none'" name=select<%=MyArray(i)%>>

<%do while not Rs.EOF %>

<OPTION value="<%=Rs("CityName")%>"><%=Rs("CityName")%></OPTION>

<%

Rs.MoveNext

loop

%>

</SELECT>

<%

end if

Rs.Close

next

%>

<SCRIPT LANGUAGE=vbscript>

<!--

dim Province,City

dim obj,lastObj

lastObj="select01"

obj="select01"

window.execScript "select01.style.display='block'" ,"vbs"

Province="北京市"

City="北京市"

Sub select1_onchange

obj=select1.value

if obj<>lastObj and isobject(eval(obj)) then

window.execScript Obj & ".style.display='block'" ,"vbs"

window.execScript lastObj & ".style.display='none'" ,"vbs"

Province=select1.options(select1.selectedIndex).innertext

window.execScript "City=" & Obj & ".value" ,"vbs"

lastObj=select1.value

end if

End Sub

sub SubMe()

window.execScript "City=" & Obj & ".value" ,"vbs"

window.location.href="TwoSelect.asp?Province=" & Province & "&City=" & City

End Sub

-->

</SCRIPT>

</td>

<td width="81"><input type="button" name="Submit" value="按钮" onClick="vbs:SubMe"></td>

</tr>

</table>

</BODY>

</HTML>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有