CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

[分享]三级无刷新全国省、市、县程序完整下载,符加数据库!!!

楼主ph580(.Net,我喜欢!www.bjcan.com/hengxing)2006-01-24 08:17:59 在 Web 开发 / ASP 提问

根据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

相关问题

  • 求三级无刷新全国省、市、县程序PHP+MYSQL数据库版,谢谢!
  • 求中国省市县三级联动access数据库,急~
  • 关于数据库刷新
  • 刷新数据库索引
  • 如果用<select>与数据库绑定来写三级下拉列表,要求无刷新.语言asp
  • SQL SERVER 数据库的刷新问题
  • lotus数据库刷新的问题
  • help me!! 关于三级数据库!!
  • 各位有没有从数据库获取的省市县三级分类表单的代码啊
  • 显示数据库记录网页的刷新?

关键词

得分解答快速导航

  • 帖主:ph580
  • ybfqlyq
  • tokilcoom
  • liuph3000
  • thinkover
  • LifeForCode
  • hainanfz
  • Aallonlin
  • Novolee
  • chinastorm
  • satans18
  • bonnie168
  • lieco
  • ah__fu
  • skycuilin
  • hz890
  • BeRush
  • gu1dai
  • jycjyc
  • ghdqlz
  • dandanyiwang

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo