CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [求助] 使用 ajax 二级联动的问题
wind1980
金牌会员
Rank: 6Rank: 6



UID 307574
精华 0
积分 2976
帖子 188
威望 1416
ZD币 333 元
阅读权限 110
注册 2008-3-14
状态 离线
  楼主
发表于 2008-4-17 16:17  资料  个人空间  短消息  加为好友 
开发者在线

使用 ajax 二级联动的问题

从网上下载了二级联动代码   
   
  我想把修改一下     把它修改成使用现在的数据表cityclass(见后面)   
   
  对ajax我不是很熟悉,修改了一上午也没有成功,请高手帮忙修改一下。   
   
   
  现在的程序只能显示   省的id     但是一换成省的名称时显示市的时候   就会出错。   
   
   
  想要得效果就是     显示省   --〉选择某个省---〉显示对应的市   
   
   
   
   
  一、注册文件   reg.asp     
  <script   language="javascript"   defer="defer">   
  /*说明:二级无刷新连动*/   
  //封装一个xmlhttp与服务器端进行交互   
  function   ajax(objstr)   
  {   
  //接收传递参数   
  string="objstr="+escape(objstr);   
  //alert(string);   
  //建立对象   
  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值前先清空其所有值   
   
  //alert(_Array);   
  objselect.length=0;   
  var   split_Array=_Array.split("|");   
  for(i=0;i<split_Array.length;i++)   
  {   
  objselect.options.add(new   Option(split_Array,split_Array));   
  }   
  }   
   
  //封装返回Select选中值   
  function   getSelectValue(id)   
  {   
  var   oSel   =   document.all(id);   
  return   oSel.options[oSel.selectedIndex].value;   
  }   
   
  //封装改变菜单产生事件city1   
  function   id_change()   
  {   
  city(getSelectValue("id"),"shi");   
  }   
   
  //第一次载入页面初始化select   
  city("0","id");   
  city(getSelectValue("id"),"shi");   
  </script>   
  <!--二级无刷新连动javascript结束-->   
                      <select   name="id"   >   
  <option   value=""   selected   >省</option>   
  </select>   
                    <select   name="shi">   
                    <option     value=""   selected>市</option>   
                    </select>   
   
   
   
  二、ajax.asp   
   
  <%   
  Dim   StrServer,StrUid,StrSaPwd,StrDbName   
  StrServer="dataliu"   '数据库服务器名   
  StrUid="as"   '您的登录帐号   
  StrSaPwd=""   '您的登录密码   
  StrDbName="data"   '您的数据库名称   
   
  Dim   conn   '数据库连接   
   
  Dim   connstr   '数据库连接字符串   
  c&StrServer&";uid="&StrUid&";pwd="&StrSaPwd&";database="&StrDbName   
  '建立和数据库master的连接   
  set   conn   =   Server.CreateObject("ADODB.Connection")     
  conn.open   connstr   
   
  Response.CharSet   =   "gb2312"   
  Dim   rs,area,areaname,objstr,strsql   
  area=""   
  '--------------得到省参数   
  objstr=request("objstr")   
  '--------------根据参数读取相应的下级型号   
  Set   rs=Server.CreateObject("ADODB.RecordSet")   
   
   
  strsql="select   *   from   cityclass   where     parentid='"&objstr&"'   order   by   classid"   
   
  rs.open   strsql,conn,1,1   
  '--------------循环得到数组并返回客户端   
  for   i=1   to   rs.recordcount   
  if   i=1   then   
              area=rs("id")   
  else   
              area=area&"|"&rs("id")   
  end   if   
  rs.movenext   
  next   
  '--------------返回数据   
  response.write   area   
  %>   
   
   
  三、数据表(cityclass)   
   
  classid       id       classname       parentid   
  1                   1           山东                     0   
  3                   2           济南                     1   
  5                   3           青岛                     1   
  8                   4           安徽                     0   
  9                   5           黄山                     3   
  10                 6           合肥                     3




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2008-7-21 04:45

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.057654 second(s), 7 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版 - WAP