发个动态的你参考一下把
<%
Dim Rs_class
Set Rs_class = Server.CreateObject("ADODB.Recordset")
Rs_class.ActiveConnection = CM_unnamedDatabase
Rs_class.Source = "  SELECT class.fldauto, class.fldname FROM class WHERE 1=1 "
Rs_class.CursorType = 0
Rs_class.CursorLocation = 2
Rs_class.LockType = 1
Rs_class.Open()
%>
<script language="javascript">
function listoption(src){
var obj = document.class3.fldclass2 
removeoption(obj)
document.getElementById("list").src = "listup.asp?lfldno=" + src.value 

function removeoption(obj){  
var len=obj.options.length
var i=len-1  
for(i;i>=0;i--){   
obj.options[i]=null   
}   
}   
function additem(i,val, txt){
document.class3.fldclass2.options[i] = new Option(txt,val);   

</script><tr>
    <td colspan="0" width="" class="Table_InSide"><div align="left">新闻大类&nbsp;</div></td>
    <td colspan="0" width="" class="Table_InSide"><div align="left">
<select name="fldclass" onchange="listoption(this)">
<option value="">--请选择--</option>
<%While NOT Rs_class.EOF%>
<option value="<%=Rs_class.Fields.Item("fldauto").Value%>"><%=Rs_class.Fields.Item("fldname").Value%></option>
<%Rs_class.MoveNext()
Wend
%>
</select>
&nbsp;</div></td>
</tr>
<tr>
    <td colspan="0" width="" class="Table_InSide"><div align="left">新闻2类&nbsp;</div></td>
    <td colspan="0" width="" class="Table_InSide"><div align="left">
<select name="fldclass2">
<option value="">--请选择--</option>
</select>
&nbsp;</div></td>
</tr><iframe id="list" name="list" src ="" style="DISPLAY: none"></iframe>listup.asp<%@ Language=VBScript %>
<!--#include file="../inc/pub.asp" -->
<!--#include file="../../Connections/cm_dbconn.asp" -->
<%
s_bh=cstr(request("lfldno"))
Dim Rs_class2
Set Rs_class2 = Server.CreateObject("ADODB.Recordset")
Rs_class2.ActiveConnection = CM_unnamedDatabase
Rs_class2.Source = "SELECT fldauto, fldname FROM class2 WHERE fldclass=" + s_bh
Rs_class2.CursorType = 0
Rs_class2.CursorLocation = 2
Rs_class2.LockType = 1
Rs_class2.Open()
i=1
%>
<Script language=JavaScript>
<%While NOT Rs_class2.EOF%>
parent.additem(<%=i-1%>,"<%=Rs_class2.Fields.Item("fldauto").Value%>","<%=Rs_class2.Fields.Item("fldname").Value%>");
<%i=i+1
Rs_class2.MoveNext()
Wend%>
</Script>
<%
Rs_class2.close()
Set Rs_class2 = Nothing
%>

解决方案 »

  1.   

    <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();
    var selectb;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]='概念解释1';
    po_detail_value[0][0]='s001';
    po_detail_show[0][1]='概念解释2';
    po_detail_value[0][1]='s002';
    po_detail_show[0][2]='概念解释3';
    po_detail_value[0][2]='s003';po_ca_show[1]='即时练习';
    po_ca_value[1]='s01';
    po_detail_show[1]=new Array();
    po_detail_value[1]=new Array();
    po_detail_show[1][0]='即时练习1';
    po_detail_value[1][0]='A100';
    po_detail_show[1][1]='即时练习2';
    po_detail_value[1][1]='0109';
    po_detail_show[1][2]='即时练习3';
    po_detail_value[1][2]='0110';
    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>
              <option value="s01">即时练习</option>
            </select></td>
          <td><select name="selectb" style="width:90">
            </select></td>
          <td width="10">&nbsp;</td>
          <td><input type="submit" name="Submit" value="GO" style="width:30"></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
      

  2.   

    以下仅仅是针对这个问题的答案。<form>
    <select name="aa" onChange="var i=parseInt(this.selectedIndex);this.form.bb.options[i].selected=true;">
    <option value="1">中国</option>
    <option value="2">英国</option>
    </select>
    <select name="bb">
    <option value="1">中文</option>
    <option value="2">英文</option>
    </select>
    </form>
      

  3.   

    谢谢 各位目前的情况是 select 里每个option 的value都是从数据库中取出来的不能对应options[i]中i的值的数据,这样偶该怎么处理呢