[分享]三级无刷新全国省、市、县程序完整下载,符加数据库!!!
根据JS版有人共享的数据库下了下来,做成三级连动,作为对CSDN网友的回报
代码写的很简单,欢迎指教!
测试地址:
www.bjcan.com/hengxing/area/index.htm
下载地址:
www.bjcan.com/hengxing/area.rar
其它收集技术文章地址:
www.bjcan.com/hengxing/more.asp
问题点数:100、回复次数:34Top
1 楼ph580(.Net,我喜欢!www.bjcan.com/hengxing)回复于 2006-01-24 08:19:40 得分 0
先把主要程序贴上来看看
[index.htm]
<HTML>
<HEAD>
<script language="javascript" defer="defer">
/*
说明:三级全国地区菜单
原创:恒星
其它技术文章:www.bjcan.com/hengxing/more.asp
日期:2006-1-20
*/
//封装一个xmlhttp与服务器端进行交互
function ajax(objstr)
{
//接收传递参数
string="objstr="+escape(objstr);
//建立对象
var objXMLHTTP = null;
try
{
objXMLHTTP = new ActiveXObject("MSXML2.XMLHTTP");
}
catch(e)
{
try
{
objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e2){}
}
//发送数据
objXMLHTTP.open("POST", "ajax.asp", false);
objXMLHTTP.setrequestheader("content-length",string.length);
objXMLHTTP.setrequestheader("content-type","application/x-www-form-urlencoded");
objXMLHTTP.send(string);
//得到服务器端返加值
return objXMLHTTP.responseText;
}
//封装返回省级数据
function city(objstr,objselect)
{
var _Array=ajax(objstr);
var objselect=eval("document.all."+objselect);
//加入select值前先清空其所有值
objselect.length=0;
var split_Array=_Array.split("|");
for(i=0;i<split_Array.length;i++)
{
objselect.options.add(new Option(split_Array[i],split_Array[i]));
}
}
//封装返回Select选中值
function getSelectValue(id)
{
var oSel = document.all(id);
return oSel.options[oSel.selectedIndex].value;
}
//封装改变省级菜单产生事件city1
function city1_change()
{
city(getSelectValue("city1"),"city2");
city(getSelectValue("city2"),"city3");
}
//封装改变县级菜单产生事件city2
function city2_change()
{
city(getSelectValue("city2"),"city3");
}
//第一次载入页面初始化select
city("0","city1");
city(getSelectValue("city1"),"city2");
city(getSelectValue("city2"),"city3");
</script>
<title>全国地区连动</title>
</HEAD>
<body>
<table width="200" border="0" cellspacing="0" cellpadding="0">
<form id="form">
<tr>
<td><select id="city1" onChange="city1_change();"></select></td>
<td><select id="city2" onChange="city2_change();"></select></td>
<td><select id="city3"></select></td>
</tr>
</form>
</table>
</body>
</HTML>
[ajax.asp]
<!--#include file="conn.asp"-->
<%
Response.CharSet = "gb2312"
area=""
'--------------得到地区参数
objstr=request("objstr")
'--------------根据参数读取相应的下级地区
set rs=server.createobject("adodb.recordset")
rs.open"select * from area where fmc='"&objstr&"' order by id",conn,3,3
'--------------循环得到数组并返回客户端
for i=1 to rs.recordcount
if i=1 then
area=rs("mc")
else
area=area&"|"&rs("mc")
end if
rs.movenext
next
'--------------返回数据
response.write area
%>
Top
2 楼ybfqlyq(Rossy|http://blog.ybfq.com)回复于 2006-01-24 08:21:29 得分 5
KKTop
3 楼tokilcoom(痴迷白骨)回复于 2006-01-24 08:28:03 得分 5
谢了Top
4 楼liuph3000()回复于 2006-01-24 08:31:11 得分 5
好人啊!
多谢楼主了Top
5 楼thinkover(JavaCoffee)回复于 2006-01-24 08:48:17 得分 5
楼主好人啊!Top
6 楼LifeForCode(用生命编程.再入轮回(2007))回复于 2006-01-24 09:01:50 得分 5
太棒了Top
7 楼hainanfz(云中小子)回复于 2006-01-24 09:22:43 得分 5
收藏!多谢了。Top
8 楼Aallonlin(风之力)回复于 2006-01-24 09:56:43 得分 5
UP。。。
Top
9 楼Novolee(人民子弟兵)(http://biglee.cn/?c)回复于 2006-01-24 10:02:41 得分 5
学习一下Top
10 楼chinastorm(JOBS.CN)回复于 2006-01-24 10:20:16 得分 5
学习学习,谢谢!Top
11 楼satans18((何畏)(只要你过得比我好))回复于 2006-01-24 10:37:22 得分 5
ph580 很热心,支持一个~Top
12 楼bonnie168(虚拟过客.net)回复于 2006-01-24 14:54:25 得分 5
支持Top
13 楼lieco()回复于 2006-01-24 14:59:30 得分 5
下了 好东西 谢谢 !
Top
14 楼ah__fu(阿福)回复于 2006-01-24 15:18:57 得分 5
性能还有待提高
服务器端,不要直接使用RecordSet输出,使用rs.GetRows()将记录转化成数组,然后输出数组,速度能够提高很多。
客户端,使用XMLHTTP的时候,采用异步调用;调用中最好显示一个Loading的层,不然会感觉页面会死一会,非常不爽。Top
15 楼skycuilin(小林)回复于 2006-01-24 15:23:39 得分 5
支持Top
16 楼hz890()回复于 2006-01-24 15:26:12 得分 5
多谢楼主!
Up!!Top
17 楼anwell(清风.Net 1982y.Net.Cn)回复于 2006-01-24 15:37:31 得分 0
性能还有待提高
服务器端,不要直接使用RecordSet输出,使用rs.GetRows()将记录转化成数组,然后输出数组,速度能够提高很多。
客户端,使用XMLHTTP的时候,采用异步调用;调用中最好显示一个Loading的层,不然会感觉页面会死一会,非常不爽。
Top
18 楼BeRush(艾威)回复于 2006-01-24 17:10:53 得分 5
只对数据感兴趣。Top
19 楼gu1dai(异域苍穹.百年飞行)回复于 2006-01-24 17:17:14 得分 5
共有纪录3431条
Top
20 楼jycjyc(果果)回复于 2006-01-24 17:18:21 得分 5
支持楼主精神!Top
21 楼ghdqlz(浪子)回复于 2006-01-24 20:11:59 得分 5
楼主好样的!Top
22 楼dandanyiwang(tuifei)回复于 2006-01-25 09:42:56 得分 5
不錯,先下載再看.Top
23 楼fzhenmei(宁静致远)回复于 2006-01-25 10:15:37 得分 0
不错,我也下载看看,谢谢楼主。Top
24 楼kgdiwss(∮明天去要饭)回复于 2006-01-25 11:09:53 得分 0
谢谢,没错,性能上差了点。Top
25 楼ccs02287(☆兜兜里有糖☆偶滴兜兜里有糖,你和我玩不?)回复于 2006-01-25 12:48:12 得分 0
前来体验,学习Top
26 楼warren1999(warren1999)回复于 2006-01-25 12:57:49 得分 0
不錯Top
27 楼wuyq11((人生如梦))回复于 2006-01-25 13:22:29 得分 0
不错,谢谢 !!Top
28 楼zhangxiqi(zhangxiqi)回复于 2006-01-25 14:43:09 得分 0
up
Top
29 楼fyyfantasy(we)回复于 2006-01-25 15:22:08 得分 0
写得太好了,谢谢Top
30 楼jy00044523(五湖废人)回复于 2006-01-25 16:43:57 得分 0
好东西Top
31 楼ljlyy(亮亮)回复于 2006-01-25 16:53:25 得分 0
好就顶Top
32 楼xxsoft(上海,今夜请将我遗忘!)回复于 2006-01-25 17:03:11 得分 0
不错.就是没后台管理..Top
33 楼NotDo(无为)回复于 2006-01-25 17:46:11 得分 0
小儿科,还没有连数据库的,太烂Top
34 楼hreoghost(Challenge oneself,break through limit!)回复于 2006-03-30 10:03:49 得分 0
好东东,谢谢了``Top




