• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

利用ASP嵌套JS+SQL Server打造两级连动_js

javascript 搞代码 7年前 (2018-06-13) 166次浏览 已收录 0个评论

利用ASP嵌套js+SQL Server打造两级连动下拉框(2)

TwoLevel.asp
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>
<meta name=”GENERATOR” content=”Microsoft FrontPage 4.0″>
<meta name=”ProgId” content=”FrontPage.Editor.Document”>
<title>下拉列表示例</title>
</head>
     
 <%
      dim conn  
      dim connstr
      on error resume next
      set conn=server.CreateObject(“ADODB.connection”)
      connstr=”driver={SQL Server};server=wen;uid=sa;pwd=;database=DB_ProvinceCat”
      conn.Open connstr
    
      set Rs=server.createobject(“ADODB.recordset”)
      Rs.CursorLocation = adUseClient 
      SQL=”Select * from Tb_Province”
      Rs.open SQL,conn,1,1
      if Not Rs.Eof then
          Dim strJScript
          strJScript=””
          Response.Write(“<SCRIPT language=JavaScript>”)&chr(13)
          Response.Write(“function setcategory(S){“)&chr(13)
          Response.Write(“S.category.length=”+Cstr(Rs.Recordcount+1)+”;”)&chr(13)
          dim i
          i=0
          While Not Rs.Eof
               strJScript=strJScript+”S.category.options[“+CStr(i)+”].value=”+chr(34)+Trim(Rs(“ProvinceCode”))+chr(34)+”;”+chr(13)
               strJScript=strJScript+”S.category.options[“+CStr(i)+”].text=”+chr(34)+Trim(Rs(“ProvinceName”))+chr(34)+”;”+chr(13)
                 i=i+1
             Rs.MoveNext
         Wend
             Response.write(strJScript)
             Response.Write(“S.category.options[“+CStr(i)+”].value=”+chr(34)+”无”+chr(34)+”;”+chr(13))
             Response.Write(“S.category.options[“+CStr(i)+”].text=”+chr(34)+”**请选择省份**”+chr(34)+”;”+chr(13))
             Response.Write(“S.category.options[“+Cstr(i)+”].selected=true;”+chr(13))
             Response.Write(“}”)&chr(13)
             Rs.Close
             Set Rs=Nothing
      end if
 
      set Rs=server.createobject(“ADODB.recordset”)
      Rs.CursorLocation = adUseClient
      SQL=”Select Num=Count(*),Tb_Province.ProvinceCode From Tb_Province,Tb_City where Tb_Province.ProvinceCode=substring(Tb_City.CityCode,1,2)  group by Tb_Province.ProvinceCode order by Tb_Province.ProvinceCode”
      Rs.open SQL,conn,1,1
      if Not Rs.Eof then
        
          dim Num(30),j
          j=0
              Do While Not Rs.Eof
                  Num(j)=Rs(“Num”)
                  j=j+1
                  Rs.MoveNext
              Loop
      end if
      Rs.Close
      set Rs=Nothing
      SQL=””
      set Rs=server.createobject(“ADODB.recordset”)
      Rs.CursorLocation = adUseClient
      SQL=”Select Tb_Province.*,Tb_City.* From Tb_Province,Tb_City where Tb_Province.ProvinceCode=substring(Tb_City.CityCode,1,2) order by Tb_Province.ProvinceCode”
      Rs.open SQL,conn,1,1
 
      j=0
      if Not Rs.Eof then
          Response.Write(“function setsmall_cat(D){“)&chr(13)
          Response.Write(“var valuecategory=D.category.options[D.category.selectedIndex].value;”)&chr(13)
          Response.write(“if(valuecategory.indexOf(“+chr(34)+”无”+chr(34)+”)==0){“+chr(13)&_
                             “D.small_cat.length=1;”&_
                             “D.small_cat.options[0].value=”+chr(34)+”无”+chr(34)+”;”+chr(13)&_
                             “D.small_cat.options[0].text=”+chr(34)+”**请选择城市**”+chr(34)+chr(13)&_
                             “D.small_cat.options[0].selected=true;”+chr(13)&_
                              “}”)
                             
          i=0
          dim NextLevel,UpCatCode,overflow
          NextLevel=”N”
          overflow=”N”
          strJScript=””
        Do While Not Rs.Eof
            UpcateCode=Trim(Rs(“ProvinceCode”)) 
            if  NextLevel=”N” then
              strJScript=”else if(valuecategory.indexOf(“+chr(34)+UpcateCode+chr(34)+”)==0){“+chr(13)
              strJScript=strJScript+”D.small_cat.length=”+Cstr(Num(j))+”;”+chr(13)
              j=j+1
              NextLevel=”Y”
           end if    
              strJScript=strJScript+”D.small_cat.options[“+CStr(i)+”].value=”+chr(34)+Trim(Rs(“CityCode”))+chr(34)+”;”+chr(13)
               strJScript=strJScript+”D.small_cat.options[“+CStr(i)+”].text=”+chr(34)+Trim(Rs(“CityName”))+chr(34)+”;”+chr(13)
             
              i=i+1
 
           
           Rs.MoveNext
          
           if UpcateCode<>Trim(Rs(“ProvinceCode”)) then
                overflow=”Y”
           end if
   
           if  overflow=”Y” then
                Response.write(strJScript+”}”)
                 strJScript=””
                 overflow=”N”
                 NextLevel=”N”
                 i=0
            end if
         Loop
            
             Response.Write(“}</Script>”)&chr(13)
             Rs.Close
             Set Rs=Nothing
      end if
    Conn.close
    set conn=nothing
 
 
%>
   
 
<body onload=setcategory(document.select);setsmall_cat(document.select)>
<Form name=”select” method=”POST” action=”#”>
<center>
<Table>
<TR>                                                                               <td>请选择:</td>
 <TD><SELECT  onchange=setsmall_cat(document.select) name=category size=”1″ ></SELECT> <SELECT  name=small_cat size=”1″ ></SELECT> </TD>
</TR>
</Table></center>
</Form>
</body>
</html>
第三,进行代码调试。
本程序在WIN2000+IIS+SQL Server7.0环境下调试通过。
                                     (全文完)

欢迎大家阅读《利用ASP嵌套JS+SQL Server打造两级连动…_js,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用ASP嵌套JS+SQL Server打造两级连动_js
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址