那我把全部的贴出来吧~~因为我怕太多了,谢谢了,帮帮忙~!
<%
set rs=server.createobject("adodb.recordset")
set rs2=server.createobject("adodb.recordset")
rs.open "select * from sorts order by sortsorder ",conn,1,1 小类
rs2.open "select * from sorts2 order by sorts2order ",conn,1,1 物品 %>
<script language = "JavaScript">
var onecount;
var onecount2;
onecount2=0;
onecount=0;
subcat2 =new Array();
subcat = new Array();
<%
   count = 0
   do while not rs.eof 
%>
subcat[<%=count%>] = new Array("<%= trim(rs("sorts"))%>","<%= rs("categoryid")%>","<%= rs("sortsid")%>");
<%
        count = count + 1
        rs.movenext
        loop
        rs.close
%>
<%
   count2 = 0
   do while not rs2.eof 
%>
subcat2[<%=count2%>] = new Array("<%= trim(rs2("sorts2"))%>","<%= rs2("sortsid")%>","<%= rs2("sorts2id")%>");
<%
        count2 = count2 + 1
        rs2.movenext
        loop
        rs2.close
%>
onecount=<%=count%>;
onecount2=<%=count2%>;function changelocation2(locationid)
    {
    document.myform.sorts2id.length = 0; 
    document.write(locationid+subcat2[1][1]);
    var locationid=locationid;
    var j;
    for (j=0;j < onecount2; j++)
        {
            if (subcat2[j][1] == locationid)
            {
             document.myform.sorts2id.options[document.myform.sorts2id.length] = new Option(subcat2[i][0], subcat2[i][2]);
}        
        }
        
    }    
function changelocation(locationid)
    {
    document.myform.sortsid.length = 0; 
    var locationid=locationid;
    var i;
    for (i=0;i < onecount; i++)
        {
            if (subcat[i][1] == locationid)
            { 
             document.myform.sortsid.options[document.myform.sortsid.length] = new Option(subcat[i][0], subcat[i][2]);
}        
        }
        
    }    大类:
<select name="categoryid" size="1" id="categoryid" onChange="changelocation(document.myform.categoryid.options[document.myform.categoryid.selectedIndex].value)">
<option>...
...
小类: 
              <select name="sortsid" onChange="changelocation2(document.myform.sortsid.options[document.myform.sortsid.selectedIndex].value)">
<option>
....
功能是选择大类的时候小类也随着变化,最后一个显示小类中的物品

解决方案 »

  1.   

    document.myform.sortsid.options[document.myform.sortsid.length] = new Option(subcat[i][0], subcat[i][2])
    这句话什么意思?
    ---------------------------------------
    这句话的意思就是给下拉框添加里面的元素,这里做的是一个动态的下拉框。
      

  2.   

    这是一个互联的下拉框,动态给下一个select加适当的option
      

  3.   

    <FORM METHOD=POST ACTION="" name="myform">
       <SELECT NAME="sortsid">
       <option value="value1">text1</option>
       <option value="value2">text2</option>
       <option value="value3">text3</option>
       <option value="value4">text4</option>
       <option value="value5">text5</option>   </SELECT>
       <INPUT TYPE="button" name="test" value="测试" onclick="addOption();">
    </FORM>
    </BODY>
    </HTML>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function addOption()
    {
        document.myform.sortsid.options[document.myform.sortsid.length] = new Option("text6","value6")
        //向下拉框中添加数据,document.myform.sortsid.length 是 option 的个数,最后一个是option
        //document.myform.sortsid.options[document.myform.sortsid.length-1] ,它的下一个就是
        //document.myform.sortsid.options[document.myform.sortsid.length]
        //所以就是向下拉框的最后一个的下一个添加数据 前面的是文本,后面的数据
    }
    //-->
    </SCRIPT>