http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=171669

解决方案 »

  1.   

    http://lucky.myrice.com/javascriptexam/radioforselect.html
      

  2.   

    <!--#include file="../conn.asp" -->
    <%
    dim count
    set rs=Server.CreateObject("ADODB.Recordset")
    rs.open "select Name,ProductClassID,ProductClass1ID from ProductClass1 order by ProductClass1ID ",conn,1,1
    %>
    <script language="JavaScript">
    <!--
    var onecount;
    onecount=0;
    subcat = new Array();
    <%
       count = 0
       do while not rs.eof 
    %>
    subcat[<%=count%>] = new Array("<%= trim(rs("Name"))%>","<%= rs("ProductClassID")%>","<%= rs("ProductClass1ID")%>");
    <%
            count = count + 1
            rs.movenext
            loop
            rs.close
    %>

    onecount=<%=count%>;function changelocation(locationid)
        {
        document.form1.Nclassid.length = 0;     var locationid=locationid;
        var i;
        for (i=0;i < onecount; i++)
            {
                if (subcat[i][1] == locationid)
                { 
                 document.form1.Nclassid.options[document.form1.Nclassid.length] = new Option(subcat[i][0], subcat[i][2]);
                }        
            }
            
        }    
    -->
    </script><HTML>
    <HEAD>
    <TITLE>search</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
    <link rel="stylesheet" type="text/css" href="style.css">
    </HEAD>
    <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
    <!-- ImageReady Slices (search.psd) -->
    <%Dim sqlText,sqlText1%>
    <table width="400" border="0" cellpadding="5" cellspacing="1" bgcolor="#FF9900">
      <form name="form1" method="POST" action="search_shangpin.asp?flag=1">
        <tr bgcolor="#FFFFFF">
          <td width="26%" align="center" background="images/search_09.gif">总类别</td>
          <td background="images/search_09.gif"><select name="anclassid" size="1" id="anclassid" onChange="changelocation(document.form1.anclassid.options[document.form1.anclassid.selectedIndex].value)" style="border:0px solid #000000; FONT-FAMILY: 宋体; FONT-SIZE: 9pt;color:#000000; background-color:#ffffff">
              <%Dim tempValue
      sqlText="Select ProductClassID,Name From ProductClass"
    %>
              <option value="1" selected>---请选择---</option>
              <% rs.open sqlText,conn,1,3
      If Not (rs.eof And rs.bof) Then
         tempValue=rs("ProductClassID")
     %>
              <option value="<%=tempValue%>"><%=rs("Name")%></option>
              <%rs.movenext
       While Not rs.eof   
     %>
              <option value="<%=rs("ProductClassID")%>"><%=rs("Name")%></option>
              <%
       rs.movenext
       Wend
       End If
       rs.close
     %>
          </select></td>
        </tr>
        <tr bgcolor="#FFFFFF">
          <td align="center" background="images/search_09.gif">商品类别</td>
          <td background="images/search_09.gif"><select name="Nclassid" style="border:0px solid #000000; FONT-FAMILY: 宋体; FONT-SIZE: 9pt;color:#000000; background-color:#ffffff">
              <option value="1" selected>---请选择---</option>
              <%sqlText="Select ProductClass1ID,Name From ProductClass1 Where ProductClassID='" & tempValue & "'"
      rs.open sqlText,conn,1,3
      If Not (rs.eof And rs.eof) Then %>
              <option value="<%=rs("ProductClass1ID")%>"><%=rs("Name")%></option>
              <%
       rs.movenext    
       while not rs.eof 
      %>
              <option value="<%=rs("ProductClass1ID")%>"><%=rs("Name")%></option>
              <%rs.movenext
      wend   
      End If
      rs.close
      set rs=nothing
      conn.close
      set conn=nothing
    %>
          </select></td>
        </tr>
        <tr bgcolor="#FFFFFF">
          <td colspan="2" background="images/search_09.gif"><input name="imageField" type="image" src="IMAGES/search_182.gif" width="54" height="18" border="0"></td>
        </tr>
      </form>
    </table>
    <!-- End ImageReady Slices -->
    </BODY>
    </HTML>
    <!-- #Include File=../buttom.asp -->
      

  3.   


      嗯!孟子老大!
      那个http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=171669的数据模型好像和我的比较相近.
      谢谢了!  fanqingfeng(丰丰),能把你贴出来的文件和数据库一给份我看看么?
      [email protected],先谢谢了!
      

  4.   

    ProductClass1:ProductClass1ID    bigint    8     pk
    ProductClassID     bigint    8
    Name               char      30
    Description        varchar   1000
    Memo               varchar   1000ProductClass:ProductClassID    bigint     8    pk
    Name              char       30
    Description       varchar    1000
    Memo              varchar    1000
      

  5.   


      孟子老大!那代码我重新写过了!
      不过不知道错在哪里!执行后,菜单中是空的!
      请帮我看看,谢谢了!
    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
    <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>  
    <!--  
    数据库:test.mdb  
    表:dbselect  
    表结构:id(自增)  school(文本)  department(文本)  grade(文本)  student(文本)  
    IE6,NS7,Mozilla下测试通过  
    -->  
    </head>  
    <body>  
    <form  name="frm">  
    <select  name=school  onchange="MulSelect(1)"></select>  
    <select  name=department  onchange="MulSelect(2)"></select>  
    <select  name=grade  onchange="MulSelect(3)"></select>  
    <select  name=student></select>  
    </form>  
    <script>  
    </script> 
    <%  
    var arrSel=["school","department","grade","student"]; 
    var arrData=[]; 
    var conn,connStr;
    conn = Server.CreateObject("Adodb.Connection");
    connStr = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + Server.MapPath("/Data/jilian.mdb");
    conn.Open(connStr);
    var  rs=conn.execute("select * from dbselect");Response.Write(rs("school"));var i = 0,j;while (!rs.EOF) {arrData[i]=[rs("school"),rs("department"),rs("grade"),rs("student")];  i++;
    rs.MoveNext();
    }
    i = null;
    rs.Close();
    conn.Close();
    %>  
    <script>  
    function  MulSelect(num){  
               var  thisfind=false; 
               var  i,j,arrTemp=[];  
               for(i=0;i<num;i++)arrTemp[i]=eval("document.frm."+arrSel[i]).value ; 
               if(num<arrSel.length)  
               with(eval("document.frm."+arrSel[num])){  
                           length=0 ; 
                           for(i=0;i<arrData.length;i++){                          
                                       for(j=0;j<num;j++)if(arrTemp[j]!=arrData[i][j])break;  
                                       if(j!=num)continue;  
                                       if(length==0 ||options[length-1].text!=arrData[i][num]){  
                                       for(m=0;m<options.length;m++)if(options[m].text==arrData[i][num])thisfind=true  
                                       if(!thisfind)options[options.length]=new  Option(arrData[i][num],arrData[i][num])  
                                       }  
                           }  
                           MulSelect((num+1)) ;
               }  
    }  
    MulSelect(0);
    </script>  
    </body>  
    </html>
      

  6.   

    兄弟,正巧,前两天我也做的这个希望给你有帮助 增加菜单以此类推
    程序如下:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>测试用的搜索菜单</title>
    </head>
    <body>
    <form name="quicksearch" method="post" action="">
    <script language="JavaScript">
    var po_ca_show = new Array();
    var po_ca_value = new Array();
    var po_detail_show = new Array();
    var po_detail_value = new Array();
    po_ca_show[0]='概念解释';
    po_ca_value[0]='s00';
    po_detail_show[0]=new Array();
    po_detail_value[0]=new Array();po_detail_show[0][0]='请选择';
    po_detail_value[0][0]='';
    po_detail_show[0][1]='概念解释1';
    po_detail_value[0][1]="herf=http://www.sohu.com";
    po_detail_show[0][2]='概念解释2';
    po_detail_value[0][2]='http://www.163.com';
    po_detail_show[0][3]='概念解释3';
    po_detail_value[0][3]='http://www.sina.com.cn';/*这里放一些我的备份吧
    <select name="selectb" style="width:90" onchange="location=value">
    */
    function Do_po_Change(from)
    {
    var num,n, i, m;
    num= GetObjID('selecta');
    m = document.quicksearch.elements[num].selectedIndex-1;
    n = document.quicksearch.elements[num + 1].length; for(i = n - 1; i >= 0; i--)
    document.quicksearch.elements[num + 1].options[i] = null; if (m>=0)
    {
    for(i = 0; i < po_detail_show[m].length; i++)
    {
    NewOptionName = new Option(po_detail_show[m][i], po_detail_value[m][i]);
    document.quicksearch.elements[num + 1].options[i] = NewOptionName;
    } document.quicksearch.elements[num + 1].options[0].selected = true;
    }
    }
    function GetObjID(ObjName)
    {
      for (var ObjID=0; ObjID < window.quicksearch.elements.length; ObjID++)
        if ( window.quicksearch.elements[ObjID].name == ObjName )
        {
         return(ObjID);
         break;
        }
      return(-1);
    }
    </script>
      <table width="250" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td><select name="selecta" style="width:90" onChange="Do_po_Change(this);">
              <option value="000">请选择目录</option>
              <option value="s00">概念解释</option>
            </select></td>
          <td><select name="selectb" style="width:90" onchange="location=value">
            </select></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
      

  7.   

    利用XMLHTTP实现的二级连动Select.     wanghr100 [原作] 
    http://dev.csdn.net/article/28/28324.shtm
      

  8.   

    另:<%
    dim conn
    dim connstr
    on error resume next
    connstr="DBQ="+server.MapPath("test.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
    set conn=server.CreateObject("ADODB.CONNECTION")
    conn.open connstr
    %><script language = "JavaScript"> 
    sall=new Array();
    <%
    Dim i
    i=0
    set rs=conn.execute("select * from subject")
    do while not rs.eof
    %>
    sall[<%=i%>]=new Array("<%=rs("subjectname")%>","<%=rs("departid")%>","<%=rs("subjectid")%>");
    <%
    i=i+1
    rs.movenext
    loop
    rs.close
    %>
    function changeselect(selvalue)  
       { 
          document.myform.Nclassid.length=0;  
          var selvalue=selvalue;
          var i;
          for(i=0;i<sall.length;i++) 
    {
        if(sall[i][1]==selvalue) 
           {
       var newOption1=new Option(sall[i][0],sall[i][2]);
    document.all.Nclassid.add(newOption1);
    }
    }
    }
    </script> 
    <form method="post" name="myform" action="ru_query.asp"> 
    <select name="classid" onChange="changeselect(document.myform.classid.options[document.myform.classid.selectedIndex].value)" size="1"> 
    <option selected value="">未指定条件</option> 
    <%
    set rs1=conn.execute("select * from depart")
    do while not rs1.eof
    response.write "<option value='"&rs1("departid")&"'>"&rs1("departname")&"</option>"&chr(13)+chr(10)
    rs1.movenext
    loop
    rs1.close
    %>
    </select> 
    <select name="Nclassid"> 
    <option selected value="">未指定</option> 
    </select> 数据库设计表depart
    字段 
    departID 自动编号
    departName 文本 '省份表subject
    字段
    subjectID 自动编号
    subjectName 文本  '城市
    departID 数字 '所属省份ID