我的需求是选国家级时,右边可选国家自然科学基金,国家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>
选省部级或厅局级或院级或横向课题时,右选框没有可选项。可是我选这些项时,依然显示的是国家级里的子选项
我的代码如下:
<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>
新增一般是....options[i] = new Option(... , ...);
或者options.add(new Option(... , ...));
classMenu.options[i]="";
}
修正
<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;
我发现下拉框用普通标签就好用,用struts标签就不行 可是必须用struts标签啊 郁闷!