日期:2014-05-18  浏览次数:20855 次

servlet返回问题
<select name="csList" onChange="csChoose(document.myform.csList.options[document.myform.csList.selectedIndex].value)"> 
<option value="">===请选择=== </option> 
  <option value="朝阳区">朝阳区 </option> 
<option value="二道区">二道区 </option> 
<option value="高新区">高新区 </option> 
<option value="经济开发区">经济开发区 </option> 
<option value="宽城区">宽城区 </option> 
<option value="绿园区">绿园区 </option> 
<option value="南关区">南关区 </option> 
<option value="双阳区">双阳区 </option> 
<option value="汽车产业开发区">汽车产业开发区 </option> 
<option value="净月区">净月区 </option> 
  </select> 
<br> 
<br> 
<br> 
  <br> 
  <br> 
  <select name="csList2" onchange="window.location.href=this.options[this.selectedIndex].value"> 
  <option selected value="">==请选择== </option> 
  </select> 

我用servlet查询,返回结果,如返回 南关区 ,我如何让select标签中的值也显示为 南关区呢,
同理,二级菜单中有xxx社区, 返回结果中也有xxx社区,我又如何控制二级菜单中的显示为xxx社区呢,
求高人指点

------解决方案--------------------
用AJAX。
------解决方案--------------------
从 servlet 中跳回来以后把值保存着,在页面最后可以用 js 判断取到的值和下拉列表中哪个相同就把下列列表中的那个选项 selected

假设 select 的 id 为 s1
<script>
var s1 = document.getElementById("s1");
var sValue = "${后台传过来的值}";
for(var i=0 ;i<s1.length;i++){
 if(s1[i].value == sValue){
s1[i].selected = true;
break;
}
}
</script>

------解决方案--------------------
上面的多了个双引号。用标签很方便的。而且很容易。
------解决方案--------------------
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fillform</title>
<script type="text/javascript">
function fillForm(){
<c:if test="${requestScope.s1!=null}">
var s1 = document.getElementById("s1");
for(i=0;i<s1.options.length;i++){
if(s1.options[i].value=='${requestScope.s1}'){
s1.options[i].selected="true";
}
}
</c:if>
<c:if test="${requestScope.s2!=null}">
var s2 = document.getElementById("s2");
for(i=0;i<s2.options.length;i++){
if(s2.options[i].value=='${requestScope.s2}'){
s2.options[i].selected="true";
}
}
</c:if>
}
</script>
</head>
<body onload="fillForm()">
<form action="../servlet/FillFormServlet" method="post">
<select name="s1" id="s1">
<option value="朝阳区">朝阳区</option>
<option value="二道区">二道区</option>
<option value="高新区">高新区</option>
</select>
<select name="s2" id="s2">
<option value="21">21</option>