怎么改变下拉框的内容!

fs959 2003-08-08 09:31:26
有两个SELECT,如果第一个值是1的话就在第二个SELECT加入aaaa,bbbb,cccc。如果值是2就加入111,2222,3333。
这样的JAVASCRTIPT怎么写呢?
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2003-08-08
  • 打赏
  • 举报
回复
近来问连动下拉列表的人很多,我就自己做了一个,自己暂时不用,完全是给大家分享的,数据库结构采用常见的省份和城市,数据库结构结构来自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>




超级大笨狼 2003-08-08
  • 打赏
  • 举报
回复
近来问连动下拉列表的人很多,我就自己做了一个,自己暂时不用,完全是给大家分享的,数据库结构采用常见的省份和城市,数据库结构结构来自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>




fs959 2003-08-08
  • 打赏
  • 举报
回复
不能实现我的需求!
sephiroth0079 2003-08-08
  • 打赏
  • 举报
回复
关键代码:

//第二个select
<SELECT ID="oSelect">
<OPTION VALUE="1">One</OPTION>
</SELECT>

//添加内容
<SCRIPT>
var oOption = document.createElement("OPTION");
oSelect.options.add(oOption);
oOption.innerText = "aaa";
oOption.Value = "aaa";

var oOption = document.createElement("OPTION");
oSelect.options.add(oOption);
oOption.innerText = "bbb";
oOption.Value = "bbb";

var oOption = document.createElement("OPTION");
oSelect.options.add(oOption);
oOption.innerText = "ccc";
oOption.Value = "ccc";
</SCRIPT>

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧