首页
印 像 新 闻 系 统
网站首页 公告信息 编程实例 PHP函数 摄影无界 全景展示 我的作品 意见专栏
 

省市二级联动代码及演示

【2006年01月13日 12:07:30】 【阅读:次】 【字体:大 中 小 默认】 【背景:#换背景 #换背景 #换背景 #换背景 #换背景 #换背景 #换背景 默认】

<%
dim count,sqln,rsn,a,b,c,rsns,cAS,classAIDS,classAS,classBIDS,classBS
dim sqlclassA,rsclassA,classA,classAID,sqlclassB,rsclassB,classB,classBID,classC,classCID,cA,cB,cC
set rsn=server.createobject("adodb.recordset")
rsn.open "select * from [yl_city] order by [P_C_Area]",conn,1,1
    sqln="select * from [yl_city]"
Set rsn=conn.Execute(sqln)
%>
<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
   count = 0
   do while not rsn.eof
if cint(right(rsn("P_C_NO"),4))=0 then
   cA=left(rsn("P_C_NO"),2)
   classAID=rsn("P_C_NO")
   classA=rsn("P_C_NAME")
end if//一级
if ((cint(right(rsn("P_C_NO"),2)))=0 and (cA=left(rsn("P_C_NO"),2))) and (cint(right(rsn("P_C_NO"),4))<>0) then
   classBID=rsn("P_C_NO")
   classB=rsn("P_C_NAME")

%>
subcat[<%=count%>] = new Array("<%= rsn("P_C_NAME")%>","<%= classAID%>","<%= classBID%>");
<%
       count = count + 1
    end if//二级
       rsn.movenext
   loop
   rsn.close
%>
onecount=<%=count%>;
function changelocation(locationid)
    {
    document.myform.Nclassid.length = 0;

    var locationid=locationid;
    var i;
    for (i=0;i < onecount; i++)
        {
            if (subcat[i][1] == locationid)
            { //
             document.myform.Nclassid.options[document.myform.Nclassid.length] = new Option(subcat[i][0], subcat[i][2]);
            }       
        }
    }   


 

<%
set rsclassA=server.createobject("adodb.recordset")
rsclassA.open "select * from [yl_city]",conn,1,1
     if rsclassA.eof and rsclassA.bof then
        response.write "请先添加栏目。"
        response.end
     else
     if cint(right(rsclassA("P_C_NO"),4))=0 then
    %><select name="anclassid" size="1" id="anclassid" onChange="changelocation(document.myform.anclassid.options[document.myform.anclassid.selectedIndex].value)">
   <option value="<%=rsclassA("P_C_NO")%>" selected><%=trim(rsclassA("P_C_NAME"))%></option>
          <%cA=rsclassA("P_C_NO")
    end if
    rsclassA.movenext
           do while not rsclassA.eof
    if cint(right(rsclassA("P_C_NO"),4))=0 then
    cA=left(rsclassA("P_C_NO"),2)
          classAID=rsclassA("P_C_NO")
       classA=rsclassA("P_C_NAME")%>
          <option value="<%=classAID%>"><%=classA%></option>
          <%end if
              rsclassA.movenext
            loop
     end if
        rsn.close%>
        </select>
<select name="Nclassid">
<%
set rsclassB=server.createobject("adodb.recordset")
    sqlclassB="select * from [yl_city]"
    rsclassB.open sqlclassB,conn,1,1
do while not rsclassB.eof
   if (left(rsclassB("P_C_NO"),3)=left(cA,3)) and cint(right(rsclassB("P_C_NO"),2))=0 then
   classBID=rsclassB("P_C_NO")
   classB=rsclassB("P_C_NAME")
%>
<option value="<%=classBID%>"><%=classB%></option>
<%
end if
rsclassB.movenext
loop
    rsclassB.close
set rsclassB = nothing
%></select>

数据库结构:以下数据在同一字段内字符型!

110000             一级                 
      110100        二级
210000                              
      210200
      211000
710000
      710100
      710200
           

省市二级联动

请注册成为本站会员选择》控制面版》更新会员资料》有演示!


(『印像空间』 【本文来源:『学习笔记』】 【作者:未知】 【录入:留印】)
限200字,剩余 字
关 键 字:
    
搜索条件: