ASP联动下拉菜单代码问题【菜鸟求助】

ko8088 2011-07-01 11:51:10
菜鸟求助 asp+access 二级联动菜单+查询

数据库名tiyandian.accdb

表名 diqu 字段名 ID region(地区名) dname(店名)


例: 1 北京 北京1店
2 北京 北京2店
3 南京 南京1店
4 南京 南京2店
5 北京 北京3店
6 北京 北京4店
网页代码

地区
<select name="dq" id="dq"></select>
店名
<select name="dn" id="dn"></select>

注意:地区名是有重复的。店名没有重复

地区和店名想做成二级联动的。

效果是: 选择地区下拉菜单里面只有


北京
南京


选择北京后 店名里面就自动有


北京1店
北京2店
北京3店
北京4店

选择南京的话就是

南京1店
南京2店....



谢谢高手们。小弟一个菜鸟。觉得学习这个非常有意思。
...全文
63 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ko8088 2011-07-04
  • 打赏
  • 举报
回复
我这个是两个表。还有一个表里只有城市名字。

shengfen表 字段有 ID diqu
1 北京
2 南京
3 上海
这个表没有重复的地名。使用来添加店名的时候用的。是固定的。
ko8088 2011-07-04
  • 打赏
  • 举报
回复
.500错误啊。

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript">
var region = new Array();
var dname = new Array();
<%
lastregion = ""
i = 0
e = 0
rs.open "select * from diqu order by region,dname",conn,1,1
while not rs.eof then
if lastregion <> rs("region") then
Response.write "region["+i+"]= '"+rs("region")+"';"
Response.write "dname["+i+"] = new Array();"
lastregion = rs("region")
i = i + 1
e = 0;
else
Response.write "region["+i+"]["+e+"]= Array("+rs("id")+",'"+rs("dname")+"');"
e = e + 1
end if
rs.movenext
wend
rs.close
%>
function showRegion(){
var region_opt = document.getElementById("region");
region_opt.length = 0;
for(var i=0;i<region.length;i++){
region_opt.options.add( new Option(region[i],i) );
}
}
function showDname( id ){
var dname_opt = document.getElementById("dname");
dname_opt.length = 0;
for(var i=0;i<dname[id].length;i++){
dname_opt.options.add( new Option(dname[id][i][1],dname[id][i][0]) );
}
}
</script>
<title>无标题文档</title>
</head>
<body>
<form id="form1" name="form1">
<select name="region" id="region" onchange="showDname(this.value)"></select>
<select name="dname" id="dname"></select>
</form>
<script language="javascript">
showRegion()
</script>
</body>
</html>
灬上海爽爷 2011-07-01
  • 打赏
  • 举报
回复
第一个SELECT
SQL可以是
select distinct region from diqu

第二个如果要根据数据库联动,需要用到AJAX了。。
SQL就是
select dnmae from ditu where region='"&第一个SQL的REGION变量&"'


AJAX参考
http://www.w3school.com.cn/ajax/
number123456 2011-07-01
  • 打赏
  • 举报
回复
你只有这一个表吗?没有设置地区的表吗?

按现在这个样子比较麻烦,先把数据库里的内容整理后输出
<script language="javascript">
var region = new Array();
var dname = new Array();
<%
lastregion = ""
i = 0
e = 0
rs.open "select * from diqu order by region,dname",conn,1,1
while not rs.eof then
if lastregion <> rs("region") then
Response.write "region["+i+"]= '"+rs("region")+"';"
Response.write "dname["+i+"] = new Array();"
lastregion = rs("region")
i = i + 1
e = 0;
else
Response.write "region["+i+"]["+e+"]= Array("+rs("id")+",'"+rs("dname")+"');"
e = e + 1
end if
rs.movenext
wend
rs.close
%>
function showRegion(){
var region_opt = document.getElementById("region");
region_opt.length = 0;
for(var i=0;i<region.length;i++){
region_opt.options.add( new Option(region[i],i) );
}
}
function showDname( id ){
var dname_opt = document.getElementById("dname");
dname_opt.length = 0;
for(var i=0;i<dname[id].length;i++){
dname_opt.options.add( new Option(dname[id][i][1],dname[id][i][0]) );
}
}
</script>
<select name="region" id="region" onchange="showDname(this.value)"></select>
<select name="dname" id="dname"></select>
<script language="javascript">
showRegion()
</script>

ko8088 2011-07-01
  • 打赏
  • 举报
回复
谢谢。AJAX看不懂啊。有没有什么简单的方法么?

28,390

社区成员

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

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