我设计的目的是选择一级菜单,二级菜单子项根据一级菜单改变.下面的程序能够正常使用,问题是如果打开了如下面的"Word 2003的使用方法"后,再回过头来打开"计算机概论",你会发现在二级菜单中不完全是"计算机概论"的子项,原来的子项没有清除干净.
另注:本人是新申请的小兵,没有分,不能够奖分,见谅!
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<style type="text/css">
<!--
.style1 {
font-family: "仿宋_GB2312";
font-size: 18px;
}
-->
</style>
</head>
<script language="javascript">
function list(i)

  if(i!=00)window.open("test.asp?id="+i);}
function jump(i)
{ if(i=="一")
   { 
     var option0=new Option("请选择哪一节","00")
 var option1=new Option("计算机应用","11");
 var option2=new Option("基础知识","12");
 for(i=0;i<3;i++)
 eval("self.document.all.form1.list02.options[i]=option"+i);
 }
if(i=="二")
    { 
     var option0=new Option("请选择哪一节","00")
 var option1=new Option("Windows基础知识","21");
 var option2=new Option("Windows的基本设置","22");
 var option3=new Option("文件管理","23");
 var option4=new Option("硬件管理及维护","24");
 for(i=0;i<5;i++)
 eval("self.document.all.form1.list02.options[i]=option"+i);
 }
 
if(i=="三")
    { 
     var option0=new Option("请选择哪一节","00")
 var option1=new Option("Word 基础操作","31");
 var option2=new Option("Word 基本格式编排","32");
 var option3=new Option("Word 排版技术","33");
 var option4=new Option("文档保护及打印","34");
 for(i=0;i<5;i++)
 eval("self.document.all.form1.list02.options[i]=option"+i);
 }
  if(i=="四")
    { 
     var option0=new Option("请选择哪一节","00")
 var option1=new Option("Excel基础操作","41");
 var option2=new Option("Excel 基本格式编排","42");
 var option3=new Option("Excel 数据处理","43");
 for(i=0;i<4;i++)
 eval("self.document.all.form1.list02.options[i]=option"+i);
 }
  if(i=="五")
    { 
     var option0=new Option("请选择哪一节","00")
 var option1=new Option("PowerPoint基础知识","51");  }

if(i=="七")
    { 
     var option0=new Option("请选择哪一节","00")
 var option1=new Option("计算机网络基础知识","71");
 var option2=new Option("局域网","72");
 var option3=new Option("因特网","73");
 for(i=0;i<4;i++)
 eval("self.document.all.form1.list02.options[i]=option"+i);
 }
if(i=="八")
    { 
     var option0=new Option("请选择哪一节","00")
 var option1=new Option("计算机的一般维护","81");
 var option2=new Option("计算机常见故障及其检测","82");
 var option3=new Option("计算机安全","83");
 for(i=0;i<4;i++)
 eval("self.document.all.form1.list02.options[i]=option"+i);
 }}
</script>
<body>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="64" colspan="2"><div align="center" class="style1"><font size="5"><b>计算机应用基础上机自测题</b></font></div></td>
  </tr>
  <tr><form id="form1">
    <td width="50%" height="74">
<select id="list01" onChange="jump(list01[selectedIndex].value)">
      <option selected>请选择哪一章</option>
      <option value="一">计算机概论</option>
      <option value="二">Windows XP的使用方法</option>
      <option value="三">Word 2003的使用方法</option>
      <option value="四">Excel 2003的使用方法</option>
 <option value="五">PowerPoint</option>
   <option value="七">计算机网络</option>
    <option value="八">计算机安全与维护</option>
      </select>
      <td width="341"><select name="list02" id="list02" onChange="list(list02[selectedIndex].value)">
      <option selected>请选择哪一节</option>
          </select></td></form>
  </tr>
</table>
</body>
</html>

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <style type="text/css">
    <!--
    .style1 {
    font-family: "仿宋_GB2312";
    font-size: 18px;
    }
    -->
    </style>
    </head>
    <script language="javascript">
    function list(i) {
        if (i != 00) window.open("test.asp?id=" + i);
    }
    function jump(k) {
    var optionNub = window.document.all.form1.list02.options.length;
    if(optionNub > 0){
    window.document.all.form1.list02.options.length = 0 ;
    }
    switch(k){
    case "一":
    var option0 = new Option("请选择哪一节", "00") 
    var option1 = new Option("计算机应用", "11");
    var option2 = new Option("基础知识", "12");
    for (i = 0; i < 3; i++) eval("window.document.all.form1.list02.options[i]=option" + i);
    break;
    case "二":
    var option0 = new Option("请选择哪一节", "00") 
    var option1 = new Option("Windows基础知识", "21");
    var option2 = new Option("Windows的基本设置", "22");
    var option3 = new Option("文件管理", "23");
    var option4 = new Option("硬件管理及维护", "24");
    for (i = 0; i < 5; i++) eval("window.document.all.form1.list02.options[i]=option" + i);
    break;
    case "三":
    var option0 = new Option("请选择哪一节", "00") 
    var option1 = new Option("Word 基础操作", "31");
    var option2 = new Option("Word 基本格式编排", "32");
    var option3 = new Option("Word 排版技术", "33");
    var option4 = new Option("文档保护及打印", "34");
    for (i = 0; i < 5; i++) eval("window.document.all.form1.list02.options[i]=option" + i);
    break;
    case "四":
    var option0 = new Option("请选择哪一节", "00") 
    var option1 = new Option("Excel基础操作", "41");
    var option2 = new Option("Excel 基本格式编排", "42");
    var option3 = new Option("Excel 数据处理", "43");
    for (i = 0; i < 4; i++) eval("window.document.all.form1.list02.options[i]=option" + i);
    break;
    case "五":
    var option0 = new Option("请选择哪一节", "00") 
    var option1 = new Option("PowerPoint基础知识", "51");
    break;
    case "七":
    var option0 = new Option("请选择哪一节", "00") 
    var option1 = new Option("计算机网络基础知识", "71");
    var option2 = new Option("局域网", "72");
    var option3 = new Option("因特网", "73");
    for (i = 0; i < 4; i++) eval("window.document.all.form1.list02.options[i]=option" + i);
    break;
    case "八":
    var option0 = new Option("请选择哪一节", "00") 
    var option1 = new Option("计算机的一般维护", "81");
    var option2 = new Option("计算机常见故障及其检测", "82");
    var option3 = new Option("计算机安全", "83");
    for (i = 0; i < 4; i++) eval("window.document.all.form1.list02.options[i]=option" + i);
    break;
    }
    }
    </script>
    <body>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td height="64" colspan="2">
                <div align="center" class="style1">
                    <font size="5">
                        <b>
                            计算机应用基础上机自测题
                        </b>
                    </font>
                </div>
             </td>   
        </tr>
        <tr>
            <form id="form1">
                <td width="50%" height="74">
                    <select id="list01" onChange="jump(list01[selectedIndex].value)">
                        <option selected>
                            请选择哪一章
                        </option>
                        <option value="一">
                            计算机概论
                        </option>
                        <option value="二">
                            Windows XP的使用方法
                        </option>
                        <option value="三">
                            Word 2003的使用方法
                        </option>
                        <option value="四">
                            Excel 2003的使用方法
                        </option>
                        <option value="五">
                            PowerPoint
                        </option>
                        <option value="七">
                            计算机网络
                        </option>
                        <option value="八">
                            计算机安全与维护
                        </option>
                    </select>
                    <td width="341">
                        <select name="list02" id="list02" onChange="list(list02[selectedIndex].value)">
                            <option selected>
                                请选择哪一节
                            </option>
                        </select>
                    </td>
            </form>
        </tr>
    </table>
    </body>
    </html>
      

  2.   

    你只需要在事件触发的时候查看下options的数量,然后当它的数量的大于0的时候证明你之前的选项option值还存在 然后在将它的length设置为0清除即可
     var optionNub = window.document.all.form1.list02.options.length;
        if(optionNub > 0){
            window.document.all.form1.list02.options.length = 0 ;
        }你全部一个if我觉得不怎么合适就给你改为了switch其实该只需要在每次事件触发的时候清除下就可以了
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <style type="text/css">
    <!--
    .style1 {
    font-family: "仿宋_GB2312";
    font-size: 18px;
    }
    -->
    </style>
    </head>
    <script language="javascript">
    function list(v) {
    if (v != "00")
    window.open("test.asp?v="+ v);
    }
    function jump(i)

      //if(i!=00)window.open("test.asp?id="+i);}
    if(i=="一") { 
       var option0=new Option("请选择哪一节","00")
    var option1=new Option("计算机应用","11");
    var option2=new Option("基础知识","12");
    for(i=0;i<3;i++)
    eval("self.document.all.form1.list02.options[i]=option"+i);
    }
    if(i=="二")

      var option0=new Option("请选择哪一节","00")
    var option1=new Option("Windows基础知识","21");
    var option2=new Option("Windows的基本设置","22");
    var option3=new Option("文件管理","23");
    var option4=new Option("硬件管理及维护","24");
    for(i=0;i<5;i++)
    eval("self.document.all.form1.list02.options[i]=option"+i);
    }
     
    if(i=="三")

      var option0=new Option("请选择哪一节","00")
    var option1=new Option("Word 基础操作","31");
    var option2=new Option("Word 基本格式编排","32");
    var option3=new Option("Word 排版技术","33");
    var option4=new Option("文档保护及打印","34");
    for(i=0;i<5;i++)
    eval("self.document.all.form1.list02.options[i]=option"+i);
    }
    if(i=="四")

      var option0=new Option("请选择哪一节","00")
    var option1=new Option("Excel基础操作","41");
    var option2=new Option("Excel 基本格式编排","42");
    var option3=new Option("Excel 数据处理","43");
    for(i=0;i<4;i++)
    eval("self.document.all.form1.list02.options[i]=option"+i);
    }
    if(i=="五")

      var option0=new Option("请选择哪一节","00")
      var option1=new Option("PowerPoint基础知识","51"); }

    if(i=="七")

    var option0=new Option("请选择哪一节","00")
    var option1=new Option("计算机网络基础知识","71");
    var option2=new Option("局域网","72");
    var option3=new Option("因特网","73");
    for(i=0;i<4;i++)
    eval("self.document.all.form1.list02.options[i]=option"+i);
    }
    if(i=="八")

        var option0=new Option("请选择哪一节","00")
    var option1=new Option("计算机的一般维护","81");
    var option2=new Option("计算机常见故障及其检测","82");
    var option3=new Option("计算机安全","83");
    for(i=0;i<4;i++)
    eval("self.document.all.form1.list02.options[i]=option"+i);
    }

    }
    </script>
    <body>
    <table width="600" border="0" align="center" cellpadding="0"
    cellspacing="0">
    <tr>
    <td height="64" colspan="2">
    <div align="center" class="style1">
    <font size="5"><b>计算机应用基础上机自测题</b>
    </font>
    </div>
    </td>
    </tr>
    <tr>
    <form id="form1">
    <td width="50%" height="74">
    <select id="list01" onChange="jump(this.value)">
    <option selected>
    请选择哪一章
    </option>
    <option value="一">
    计算机概论
    </option>
    <option value="二">
    Windows XP的使用方法
    </option>
    <option value="三">
    Word 2003的使用方法
    </option>
    <option value="四">
    Excel 2003的使用方法
    </option>
    <option value="五">
    PowerPoint
    </option>
    <option value="七">
    计算机网络
    </option>
    <option value="八">
    计算机安全与维护
    </option>
    </select>
    <td width="341">
    <select name="list02" id="list02"
    onChange="list(this.value)">
    <option selected>
    请选择哪一节
    </option>
    </select>
    </td>
    </form>
    </tr>
    </table>
    </body>
    </html>