asp动态级联菜单代码

时间:2021-11-29 01:50:37

JS脚本:

  1. <%  
  2. dim rs  
  3. dim sql  
  4. dim count  
  5. dim rs1  
  6. dim sql1  
  7. sql = "select * from region order by zoneid asc"  
  8. set rs = server.createobject("adodb.recordset")  
  9. rs.open sql,conn,1,3  
  10. %>  
  11. <script language = "JavaScript">  
  12. var onecount;  
  13. onecount=0;  
  14. subcat = new Array();  
  15. <%  
  16. count = 0  
  17. do while not rs.eof  
  18. %>  
  19. subcat[<%=count%>] = new Array("<%= trim(rs("regionname"))%>","<%= trim(rs("zoneid"))%>","<%= trim(rs("regionid"))%>");  
  20. <%  
  21. count = count + 1  
  22. rs.movenext  
  23. loop  
  24. rs.close  
  25. set rs=nothing  
  26. %>  
  27. onecount=<%=count%>;  
  28.  
  29. function changelocation(zoneid)  
  30. {  
  31. document.myform.region.length = 0;  
  32.  
  33. var zoneid=zoneid;  
  34. var i;  
  35. document.myform.region.options[0] = new Option('--地区--','');  
  36. for (i=0;i < onecount; i++)  
  37. {  
  38. if (subcat[i][1] == zoneid)  
  39. {  
  40. document.myform.region.options[document.myform.region.length] = new Option(subcat[i][0], subcat[i][2]);  
  41. }  
  42. }  
  43.  
  44. }  
  45. </script>   

varonecount;

onecount=0;

subcat=newArray();

count=0

dowhilenotrs.eof

%>

subcat[]=newArray("","","");

count=count+1

rs.movenext

loop

rs.close

setrs=nothing

%>

onecount=;

functionchangelocation(zoneid)

{

document.myform.region.length=0;

varzoneid=zoneid;

vari;

document.myform.region.options[0]=newOption('--地区--','');

for(i=0;i

{

if(subcat[i][1]==zoneid)

{

document.myform.region.options[document.myform.region.length]=newOption(subcat[i][0],subcat[i][2]);

}

}

}

表单内容:

  1. <table>  
  2. <form>  
  3. <tr>  
  4. <td>  
  5. <span class="STYLE1">*</span> 大区:  
  6.           <select name="zone" size="1" id="zone" onChange="changelocation(document.myform.zone.options[document.myform.zone.selectedIndex].value)">  
  7. <option value=0 selected >请选择</option>  
  8. <%  
  9.  
  10. sql1 = "select * from bigzone order by zonename asc"  
  11. set rs1 = server.createobject("adodb.recordset")  
  12. rs1.open sql1,conn,1,3  
  13. %>  
  14. <%while not rs1.eof%>  
  15. <option value="<%=rs1("zoneid")%>"><%=rs1("zonename")%></option>  
  16. <%rs1.movenext  
  17. wend  
  18. rs1.close  
  19. set rs1 = nothing  
  20. %>  
  21. </select>        </td>  
  22.         <td width="20%"><span class="STYLE1">*</span>地区:  
  23.           <select name="region" size="1" id="region" >  
  24. <option value=0 selected >请选择</option>  
  25. </select>    
  26. </tr>  
  27. </form>  
  28. </table>