我的需求是选国家级时,右边可选国家自然科学基金,国家863、973项目,其他计划项目
选省部级或厅局级或院级或横向课题时,右选框没有可选项。可是我选这些项时,依然显示的是国家级里的子选项
我的代码如下:
  <script type="text/javascript">
      var arr2 = new Array(5);
      arr2["国家级"] = new Array("国家自然科学基金","国家863,973项目","其他计划项目");
      arr2["省部级"] = new Array("","","");
      arr2["厅局级"] = new Array("","","");
      arr2["院级"] = new Array("","","");
      arr2["横向课题"] = new Array("","","");
      function removeinfo(classMenu){   //将下拉框各选项清空
        for (var i=0; i < classMenu.options.length; i++){
             classMenu.options[i]="";
        }
      }
      function changeMenu(classList,classMenu){
        removeinfo(classMenu)
        for (var i=0; i < classList.length; i++){
             classMenu[i]=new Option(classList[i],classList[i]);
        }
      }
  </script>
</head>
<body>
  <html:form action="/queryall.do?method=browserall">
<bean:message key="jsp.query.all" />:
<html:submit value="查询" />
</html:form>

<html:form action="/queryall.do?method=browerbytime">
<bean:message key="jsp.query.times" />:<bean:message
key="jsp.query.times.start" />
<html:text property="starttime" value=""/>
<bean:message key="jsp.query.times.end" />
<html:text property="endtime" value=""/>
<html:submit value="查询" />
</html:form>

<html:form action="/queryall.do?method=browerbyunit">
<bean:message key="jsp.query.unit" />:<html:text property="unit" />
<html:submit value="查询" />
</html:form>
<html:form action="/queryall.do?method=browerbyname">
<bean:message key="jsp.query.name" />:<html:text property="pjname" />
    <html:submit value="查询" />
</html:form>
<html:form action="/queryall.do?method=browerbypid">
<bean:message key="jsp.query.no" />:<html:text property="pjno" />
  <html:submit value="查询" />
</html:form>
<html:form action="/queryall.do?method=browerbylevel">
<bean:message key="jsp.query.level" />:<br>
<tr bgcolor="#FFFFFF">
          <td height="22" align="right">所属级别:</td>
          <td height="22" align="left">
           <html:select property="flevel" onchange="changeMenu(arr2[document.forms[5].flevel.options[document.form[5].flevel.selectedIndex].text],document.form[5].slevel);">
              <html:option value="国家级">国家级</html:option>
              <html:option value="省部级">省部级</html:option>
              <html:option value="厅局级">厅局级</html:option>
              <html:option value="院级">院级</html:option>
              <html:option value="横向课题">横向课题</html:option>
           </html:select>
         <html:select property="slevel">
              <html:option value="国家自然科学基金">国家自然科学基金</html:option>
              <html:option value="国家863、973项目">国家863、973项目</html:option>
              <html:option value="其他计划项目">其他计划项目</html:option>
           </html:select>
           </td>
        </tr>
         <html:submit value="查询" />
</html:form>

解决方案 »

  1.   

    清空是....options.length = 0;
    新增一般是....options[i] = new Option(... , ...);
    或者options.add(new Option(... , ...));
      

  2.   

      for (var i=0; i < classMenu.options.length; i++){
                classMenu.options[i]="";
            } 
    修正
      

  3.   

    <html>
    <head>
    <TITLE> New Document </TITLE> 
      <META NAME="Generator" CONTENT="EditPlus"> 
      <META NAME="Author" CONTENT=""> 
      <META NAME="Keywords" CONTENT=""> 
      <META NAME="Description" CONTENT=""> 
    </head>
         <body>
           选择的问题<br>
           <select name="flevel" id="flevel" onchange="changeMenu(arr2[document.getElementsByName('flevel')[0].value],document.getElementsByName('slevel')[0])">
          <option value="国家级">国家级</option>
              <option value="省部级">省部级</option>
      <option value="厅局级">厅局级</option>
      <option value="院级">院级</option>
      <option value="横向课题">横向课题</option>
       </select>
       <select name="slevel" id="slevel"> 
                  <option value="国家自然科学基金">国家自然科学基金 </option> 
                  <option value="国家863、973项目">国家863、973项目 </option> 
                  <option value="其他计划项目">其他计划项目 </option> 
           </select> 
     </body>  <script type="text/javascript">
     var arr2 = new Array(5); 
          arr2["国家级"] = new Array("国家自然科学基金","国家863,973项目","其他计划项目"); 
          arr2["省部级"] = new Array("省自然科学基金","省重点项目","其他计划"); 
          arr2["厅局级"] = new Array("厅自然科学基金","厅级重点项目","其他计划"); 
          arr2["院级"] = new Array("院级自然科学基金","院级重点项目","其他计划"); 
          arr2["横向课题"] = new Array("横向课题科学基金","横向课题重点项目","其他计划"); 
          function removeinfo(classMenu){  //将下拉框各选项清空 
            classMenu.options.length = 0;
          } 
          function changeMenu(classList,classMenu){ 
            removeinfo(classMenu) 
             for (var i=0; i < classList.length; i++){ 
                classMenu[i]=new Option(classList[i],classList[i]); 
            } 
          } 
     </script>
    </html>你把下拉框各选项清空弄错了,应试为 classMenu.options.length = 0;
      

  4.   

    我的要求是 选省部级或厅局级或院级或横向课题时,右选框没有可选项。可是我选这些项时,依然显示的是国家级里的子选项   帮帮忙啊  急用!
    我发现下拉框用普通标签就好用,用struts标签就不行 可是必须用struts标签啊 郁闷!