昨天调了半天的前台界面,最后终于实现了想要的下拉列表值变化,跳转action效果。错误原因为:1.将" οnchange="goUrl(2)"写成" οnchange="goUrl(2);"导致JS行为不执行;2.在函数中获取值时,将var navId = document.getElementById("navId").value; 写成var navId = document.getElementById("navId"),导致参数接收不到,现在将正确的代码整理如下:
<head>
function goUrl(x){
if(x==1){
var roleId = document.getElementById("roleId").value;
window.location.href="../qx_view/selectByRole!selectByRole.action?qx.roleId="+roleId+"";
}
else if(x==2){
var navId = document.getElementById("navId").value;
window.location.href="../qx_view/selectByNav!selectByNav.action?qx.navId="+navId+"";
}
else if(x==3){
var opeId = document.getElementById("opeId").value;
window.location.href="../qx_view/selectByOpe!selectByOpe.action?qx.opeId="+opeId+"";
}
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#a8c7ce" οnmοuseοver="changeto()" οnmοuseοut="changeback()">
<tr>
<td class="STYLE6" >
按角色身份:
<select name="roleId" id="roleId" onChange="check1();">
<option></option>
<option value="1">学生</option>
<option value="2">老师</option>
<option value="3">专业负责人</option>
<option value="4">教学秘书</option>
</select>
</td>
<td class="STYLE6" >
按导航名:
<select name="navId" id="navId" οnchange="goUrl(2)">
<option></option>
<s:iterator value="navList" status="u">
<option value="<s:property value="navId" />">
<s:property value="navName" />
</option>
</s:iterator>
</select>
</td>
<td class="STYLE6" >
按分类名:
<select name="opeId" id="opeId" οnchange="goUrl(3)">
<option> </option>
<s:iterator value="opeList" status="u">
<option value="<s:property value="opeId" />">
<s:property value="opeName" />
</option>
</s:iterator>
</select>
</td>
</table>
</body>