首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp 联动菜单的跳转有关问题

2012-03-12 
jsp 联动菜单的跳转问题?我用的是Js 控制跳转的,每跳转一次 就刷新一次页面。刷新之后 就得不到上次选的Opt

jsp 联动菜单的跳转问题?
我用的是Js 控制跳转的,每跳转一次 就刷新一次页面。刷新之后 就得不到上次选的Option 值了?请求高手帮忙啊!
比如说 我选中”--武汉--“,就刷新一次页面,得到下拉菜单"汉口",但是 上个下拉菜单就不能保存--武汉--了?? ? ,我用 request 去请求 可是请求过来的值 是乱码。我做的是3级联动菜单,刷新第3次的时候,还是不能得到 request的值。

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="jdbc.Jdbc"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.util.Arrays"%>
<%@page import="com.sun.xml.internal.txw2.Document"%>
<%@page import="javax.swing.text.html.Option"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">


 function area(){
  var vv = area_id.value;
  var op=area_id.options[area_id.selectedIndex].text;
  var url="jdbc.jsp?area="+vv+"&opptin="+op;

location.href=url;
 }

 function city(){
 
var vv = city_id.value;
var op=city_id.options[city_id.selectedIndex].text;
var url="jdbc.jsp?city_id="+vv;
location.href=url;
}

 function school(){
var vv = school_id.value;
var op=school_id.options[school_id.selectedIndex].text;
var url="jdbc.jsp?school_id="+vv;
location.href=url;
}
 
</script>


<body >

<%jdbc.Jdbc jdbc= new Jdbc();
  ResultSet rs =jdbc.getJdbc2();
%>
<br></br>


城市:
<select name="area_id" id="area_id" onchange="area()" style="width: 100px"> 
<option >
<%=request.getParameter("opptin") %>
</option>
<% 
 while(rs.next()){ //城市查询
%>
<option value="<%=rs.getString(1) %>" ><%=rs.getString(2) %></option>
<%} %>


</select>

<br></br>

区县:
<select id="city_id" name="city_id" onchange="city()" style="width: 150px">
 <option></option>
 <%String area_id =request.getParameter("area");
   
 %>
 <% if(area_id==null && "".equals(area_id)){%>
 <option> 请选择 </option>
 <%} else{%>
  <% ResultSet rs2 = jdbc.getJdbc2("SUPERIOR",area_id);
  while(rs2.next()){ //value 区域查询
  %>
<option selected="selected" value="<%=rs2.getString("code") %>" > <%=rs2.getString(2)%> </option>
   
<%}
   
 }

 %>


</select>

<br></br>
学校:
<select id="school_id" name="school_id" onchange="school()" style="width: 150px">
<option></option>
 <%String city_id =request.getParameter("city_id"); //学校查询
 
 %>
 <% if(city_id==null){%>

 <%} else{%>
  <% ResultSet rs3 = jdbc.getJdbc3("SZXQ",city_id);
  while(rs3.next()){ %>
<option value="<%=rs3.getString("XXBH") %>" > <%=rs3.getString(5)%> </option>
   
<%}} 
  
%>

</select>





<br></br>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="150px">学校代码</td>
<td width="200px">学校名称</td>
<td width="200px">学校地址</td>
<td width="200px">联系电话</td>
</tr>


<% String class_id = request.getParameter("school_id");
  if(class_id!=null){
  ResultSet rs3 = jdbc.getJdbc3("XXBH",class_id);
  while(rs3.next())%><%{ %>
   
  <tr>
  <td width="150px"><%=rs3.getString(1) %></td>
  <td width="200px"><%=rs3.getString(5) %></td>
  <td width="200px"><%=rs3.getString(7) %></td>
  <td width="200px"><%=rs3.getString(8) %></td>
  </tr>
   
 
  <% }}else{%>
  <tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<%} %>
</table>



</body>
</html>

[解决办法]
分数太少了...............
[解决办法]
二级联动 为什么不用ajax做呢。 用ajax做不光能解决这个问题 还能减轻客户端和服务器端的压力
[解决办法]
大哥什么年代了,您还不用Ajax做联动?
[解决办法]
可用表单的形式,下拉框的onchange时间提交表单,表单action是当前页面,刷新后通过request.getParameter取上个页面提交的下拉框的值
[解决办法]
ajax+jsp实现二级联动下拉菜单
[解决办法]
楼上的 Demo不错 。。。
[解决办法]
刷新第三次的时候,你要把值传递过去,否则你是接受不到值的。。
至于乱码问题,你是地址栏传递中文,最好将中文进行转码,然后再去解码就可以了。。
[解决办法]
直接用ajax或者直接前台JS去做掉。
你这样对后台数据库会造成压力的

热点排行