http://fason.nease.net/samples/select/

解决方案 »

  1.   

    <%'打开要进行操作的5个数据集 
    dim sql1,sql2,sql3
    sql1="select * from BigClass" 
    sql2 = "select * from SmallClass" 
    sql3 = "select * from SmallerClass"
    sql4 = "select * from SmallleastClass"
    sql5 = "select * from SmallminiClass"  
    '/////////////////////////打开第一组织库 
    set rs1=server.CreateObject("adodb.recordset") 
    rs1.Open sql1,oconn,1,1 
    set rs2=server.CreateObject("adodb.recordset") 
    rs2.Open sql2,oconn,1,1 
    set rs3=server.CreateObject("adodb.recordset") 
    rs3.Open sql3,oconn,1,1
    set rs4=server.CreateObject("adodb.recordset") 
    rs4.Open sql4,oconn,1,1 
    set rs5=server.CreateObject("adodb.recordset") 
    rs5.Open sql5,oconn,1,1   
    %>
    <select name=FirstOrganization onchange="ChangeLocation1(FirstOrganization.options[FirstOrganization.selectedIndex].value);
                                                                          ChangeLocation2(SecondOrganization.options[SecondOrganization.selectedIndex].value);
      ChangeLocation3(ThirdOrganization.options[ThirdOrganization.selectedIndex].value);
      ChangeLocation4(SmallleastClass.options[SmallleastClass.selectedIndex].value);
        document.all.nt.value=options[selectedIndex].value;
      LastSelected=options[selectedIndex].value"> 
    <option value="">---------</option>
    <% if rs1.RecordCount >0 then 
    while not rs1.eof
    Response.Write"<option value="&rs1("BigClassName")&">"&rs1("BigClassName")&"</option>" 
    rs1.movenext 
    wend 
       Else 
    Response.Write "没有配置" 
       end if %>
      </select>  
      <select name=SecondOrganization onchange="ChangeLocation2(SecondOrganization.options[SecondOrganization.selectedIndex].value);
                                                                               ChangeLocation3(ThirdOrganization.options[ThirdOrganization.selectedIndex].value);
       ChangeLocation4(SmallleastClass.options[SmallleastClass.selectedIndex].value);
       document.all.nt.value=LastSelected+'-'+options[selectedIndex].value;
       LastSelected=options[selectedIndex].value"> 
      <option value="">--------</option>
    </select> 
    <select name=ThirdOrganization onchange="ChangeLocation3(ThirdOrganization.options[ThirdOrganization.selectedIndex].value);
                                                                            ChangeLocation4(SmallleastClass.options[SmallleastClass.selectedIndex].value);
    document.all.nt.value=LastSelected+'-'+options[selectedIndex].value;
    LastSelected=options[selectedIndex].value">
    <option value="">--------</option>
    </select>
    <select name=SmallleastClass onchange="ChangeLocation4(SmallleastClass.options[SmallleastClass.selectedIndex].value);
                                                                       document.all.nt.value=LastSelected+'-'+options[selectedIndex].value;
       LastSelected=options[selectedIndex].value">
    <option value="">--------</option>
    </select>
    <select name=SmallminiClass onChange="document.all.nt.value=LastSelected+'-'+options[selectedIndex].value;">
    <option value="">--------</option>
    </select>   
     <%'关数据集 
     rs1.close 
     set rs1 = nothing 
     rs2.close 
     set rs2 = nothing 
     rs3.close 
     set rs3 = nothing
     rs4.close 
     set rs4 = nothing
     rs5.close 
     set rs5 = nothing   
     '页面元素全部准备就绪 
     %>
     <%="<script language=javascript>"%> 
     <%'asp块 
     dim sql_GetThirdOrganization 
     sql_GetThirdOrganization = "select * from SmallerClass order by SmallerClassID desc" 
     set rs_GetThirdOrganization = server.CreateObject("adodb.recordset") 
     rs_GetThirdOrganization.Open sql_GetThirdOrganization,oconn,1,1 
     set rs2 = server.CreateObject("adodb.recordset") 
     rs2.open sql2,oconn,1,1 
     set rs4 = server.CreateObject("adodb.recordset") 
     rs4.open sql4,oconn,1,1
     set rs5 = server.CreateObject("adodb.recordset") 
     rs5.open sql5,oconn,1,1%>
     var temp,temp_2,temp_1,temp_3,temp_4;
     Related1 = new Array();
     Related3 = new Array();
     Related4 = new Array();
     Related = new Array();
     <% temp_2 = 0 
     temp_1=0
     temp_3=0
     temp_4=0
     while not rs5.eof 
     '循环第五级组织 %> 
     Related4[<%=temp_4%>] = new Array("<%=rs5("SmallminiClassName")%>","<%=rs5("SmallminiClassName")%>","<%=rs5("SmallleastClassName")%>"); 
     <% temp_4 = temp_4 + 1 
     rs5.movenext 
     wend 
     while not rs4.eof 
     '循环第四级组织 %> 
     Related3[<%=temp_3%>] = new Array("<%=rs4("SmallleastClassName")%>","<%=rs4("SmallleastClassName")%>","<%=rs4("SmallerClassName")%>"); 
     <% temp_3 = temp_3 + 1 
     rs4.movenext 
     wend 
     while not rs2.eof 
     '循环第三级组织 %> 
     Related1[<%=temp_1%>] = new Array("<%=rs2("SmallClassName")%>","<%=rs2("SmallClassName")%>","<%=rs2("BigClassName")%>"); 
     <% temp_1 = temp_1 + 1 
     rs2.movenext 
     wend 
     '一个临时变量,用来存放三级组织的个数 
     while not rs_GetThirdOrganization.eof 
     '循环第三级组织 %> 
     Related[<%=temp_2%>] = new Array("<%=rs_GetThirdOrganization("SmallerClassName")%>","<%=rs_GetThirdOrganization("SmallerClassName")%>","<%=rs_GetThirdOrganization("SmallClassName")%>"); 
     <% temp_2 = temp_2 + 1 
     rs_GetThirdOrganization.movenext 
     wend %> 
     temp = <%=temp_2%>;
     temp1 = <%=temp_1%>;
     temp3 = <%=temp_3%>;
     temp4 = <%=temp_4%>;
     function ChangeLocation1(id){ 
       var id = id; 
      document.news_body.SecondOrganization.length=0; 
      var i = 0; 
      text="--------";
      document.news_body.SecondOrganization.options[0]=new Option('--------','');
      for(i=0;i< temp1;i++){ if(Related1[i][2]==id){ 
      document.news_body.SecondOrganization.options[document.news_body.SecondOrganization.length] = new Option(Related1[i][1], Related1[i][0]);

     }
     }
     }  
     function ChangeLocation2(id){ 
       var id = id; 
      document.news_body.ThirdOrganization.length=0; 
      var i = 0; 
      text="--------";
      document.news_body.ThirdOrganization.options[0]=new Option('--------','');
      for(i=0;i< temp;i++){ if(Related[i][2]==id){ 
      document.news_body.ThirdOrganization.options[document.news_body.ThirdOrganization.length] = new Option(Related[i][1], Related[i][0]);
     }
     }
     }
     function ChangeLocation3(id){ 
       var id = id; 
      document.news_body.SmallleastClass.length=0; 
      var i = 0; 
      text="--------";
      document.news_body.SmallleastClass.options[0]=new Option('--------','');
      for(i=0;i< temp3;i++){ if(Related3[i][2]==id){ 
      document.news_body.SmallleastClass.options[document.news_body.SmallleastClass.length] = new Option(Related3[i][1], Related3[i][0]);
     }
     }
     }  
     function ChangeLocation4(id){ 
       var id = id; 
      document.news_body.SmallminiClass.length=0; 
      var i = 0; 
      text="--------";
      document.news_body.SmallminiClass.options[0]=new Option('--------','');
      for(i=0;i< temp4;i++){ if(Related4[i][2]==id){ 
      document.news_body.SmallminiClass.options[document.news_body.SmallminiClass.length] = new Option(Related4[i][1], Related4[i][0]);
     }
     }
     }  
     </script> 
      

  2.   

    数据表结构中bigclass和smallclass等都用向前的classID做关联,如在smallclass表中就有bigclassID这样依次类推
      

  3.   

    http://fason.nease.net/samples/select/——下不了啊!
      

  4.   

    我用的是jsp的,回去改改,看看怎么样,我的数据库是一张表的!
    非常感谢各位的帮忙,特别是 linseng129(IT届的菜鸟) 。
      

  5.   

    看看这个,如果我这个问题解决了别说5级,10级都没问题http://community.csdn.net/Expert/topic/3886/3886083.xml?temp=6.956118E-02