求连动下拉框技术js代码分不够另开帖再加

wucaiheshi 2003-11-25 05:12:51
具体应用:报表类型为下拉框格式被选值为天、月、季、半年、年(从zd_nsqx数据库中),从下拉框中选择出该报表类型后,如果报表类型选择为月,后面出现相应的年、月,年为文本框,月为下拉框(显示为一月至十二月),将选中的值显示到下一个名为所属期文本框中如200301,如果报表类型选择为季,后面出现相应的年、季,年为文本框,季为下拉框(显示值为一季度、二季度、三季度、四季度)将选中的值显示到下一个名为所属期文本框中如200301。如果报表类型选择为半年,后面出现相应的年,半年,年为文本框,半年为下拉框(显示值为上半年、下半年)将选中的值显示到下一个名为所属期文本框中200301、200306。如果报表类型选择为年,后面只出现相应的年,年为文本框。
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2003-12-07
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2537/2537402.xml?temp=.3686945
下载:http://www.ymdg.com/s4.rar
我做的四级连动完美版,access数据库,速度非常快!!!
两个小文件总共代码一共不超过80行!9万条记录运行如飞!!
我敢说csdn里面高性能数据库下拉列表我的代码最短!
完全vbs,无特殊组件
wucaiheshi 2003-11-26
  • 打赏
  • 举报
回复
楼上可不可以给个在jsp页面中的。先谢了
hrong 2003-11-25
  • 打赏
  • 举报
回复
<%@ Language=VBScript codepage=936 %>
<% Option Explicit %>
<!-- 数据库结构 两个字段 provinceName(省名) cityName(城市名) -->
<!-- #include file="connection.asp" -->
<script language=javascript>
<%
dim RS
Set RS = Server.CreateObject("ADODB.Recordset")
RS.open "SELECT * FROM tableName ORDER BY provinceName DESC", Conn, 0, 1

dim provinceName '省名
dim provinceList '记录所有的省名, 最后输出到JS里组成省名数组
dim cityList '记录某个省的所有城市名, 最后输出到JS里组成城市名数组
dim cityIndex 'JS的city数组名与省名下拉框的索引对应
cityIndex = 1

do while not RS.eof
if isEmpty(provinceName) then
cityList = cityList & chr(34) & Trim(RS("cityName")) & chr(34) &","
provinceName = Trim(RS("provinceName"))
else
if provinceName<>Trim(RS("provinceName")) then
provinceList = provinceList & chr(34) & provinceName & chr(34) &","
if not isEmpty(cityList) then Response.write "var city"& cityIndex &_
" = ["& Left(cityList, Len(cityList)-1) &"];"& VBCrLf
'输出每个省所对应的城市名的列表并组成JS的数组, 数组形式参考下面的实例
cityIndex = cityIndex + 1
cityList = ""
end if
provinceName = Trim(RS("provinceName"))
cityList = cityList & chr(34) & Trim(RS("cityName")) & chr(34) &","
'将每个省里的所有城市名组成一串字串
end if
RS.movenext
loop

if not isEmpty(cityList) then
Response.write "var city"& cityIndex &" = ["& Left(cityList, Len(cityList)-1) &"];"& VBCrLf
end if
if not isEmpty(provinceName) then
provinceList = provinceList & chr(34) & provinceName & chr(34) &","
Response.write "var provinceName = ["& Left(provinceList, Len(provinceList)-1) &"];"
'输出省名字串并组成省名的JS数组, 形式见下实例
end if

RS.close : Set RS=nothing
Conn.close : Set Conn=nothing
%>
</script>

<form name=form1>
<select name=province onchange="cityName(this.selectedIndex)">
<option value="">请选择省名</option>
</select>

<select name=city>
<option value="">请选择城名</option>
</select>
</form>

<script language=javascript>

/* 若要直接看下拉框联动效果的话, 将这段被注释的代码起用, 且上面的那段ASP注释即可
var provinceName = ["浙江", "江苏", "安徽", "江西"];
var city1 = ["杭州", "宁波", "温州", "绍兴", "金华", "湖州"];
var city2 = ["南京", "苏州", "无锡", "常州", "镇江", "徐州"];
var city3 = ["合肥", "翕县", "黄山", "祁门", "休宁"];
var city4 = ["南昌", "九江", "赣州", "上饶", "新余", "景德镇"];
//你在ASP输出的页面里应该看到如上这般的JS数组, 能看到则表示成功
*/


function province()
{

var e = document.form1.province;
for (var i=0; i<provinceName.length; i++)
e.options.add(new Option(provinceName[i], provinceName[i]));
}
function cityName(n)
{
var e = document.form1.city;
e.options.length = 1;
if (n == 0) return;
var a = eval("city"+ n); //得到城市的数组名
for (var i=0; i<a.length; i++) e.options.add(new Option(a[i], a[i]));
}
window.attachEvent("onload", province); //初始时给省名下拉框赋内容
</script>
wanghuixue 2003-11-25
  • 打赏
  • 举报
回复
先up

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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