本人用做一个二级联动下拉菜单,通过select上级地区,显示下级地区,可以当我多次下拉上级地区(select1)时,下级地区(select2)就请求不到了,就没的反应了,select2里面还保存的是上一次下拉的值我的jsp页面是这样写的:
<script type="text/javascript" src="<%=path%>/js/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function (){
$("#regionFatherid").change(function (){
var id=$("#regionFatherid").val();
//alert("chage");
if(id!=0){
$.post("<%=path%>/getRegionChildByRegionFather",{regionFatherId:id,'fresh':Math.random()},function (d){
//alert("d="+d);
//alert("if");
$("#regionChild").empty().append(d);
});
}else{
//alert("else");
$("#regionChild").empty().append("");
}
});
});
</script> <td align="right">上级地区:</td>
<td colspan="3">
<s:select name="users.regionByRegId.regId" id="regionFatherid" onchange="findRegionChild()" list="regionList" headerKey="0" headerValue="请选择" listKey="regId" listValue="regName" theme="simple"></s:select>
</td>
</tr>
<tr>
<td align="right">下级地区:</td>
<td colspan="3">
<select id="regionChild" name="users.regionByRegFatherId.regId">
<option value=""></option>
</select>action里面是这样写的:
public String getChildByFather() throws Exception{
List<ParameterBean> list=new ArrayList<ParameterBean>(0);
list=usersService.getRegionChildByRegionFatherId(regionFatherId);
if (list.size()>0) {
StringBuilder builder=new StringBuilder();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
ParameterBean bean = (ParameterBean) iterator.next();
builder.append("<option value='"+bean.getRegId()+"'>"+bean.getRegName()+"</option>");
}
HttpServletResponse response=ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
out.write(builder.toString());
out.flush();
out.close();
}
return null;
}
<script type="text/javascript" src="<%=path%>/js/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function (){
$("#regionFatherid").change(function (){
var id=$("#regionFatherid").val();
//alert("chage");
if(id!=0){
$.post("<%=path%>/getRegionChildByRegionFather",{regionFatherId:id,'fresh':Math.random()},function (d){
//alert("d="+d);
//alert("if");
$("#regionChild").empty().append(d);
});
}else{
//alert("else");
$("#regionChild").empty().append("");
}
});
});
</script> <td align="right">上级地区:</td>
<td colspan="3">
<s:select name="users.regionByRegId.regId" id="regionFatherid" onchange="findRegionChild()" list="regionList" headerKey="0" headerValue="请选择" listKey="regId" listValue="regName" theme="simple"></s:select>
</td>
</tr>
<tr>
<td align="right">下级地区:</td>
<td colspan="3">
<select id="regionChild" name="users.regionByRegFatherId.regId">
<option value=""></option>
</select>action里面是这样写的:
public String getChildByFather() throws Exception{
List<ParameterBean> list=new ArrayList<ParameterBean>(0);
list=usersService.getRegionChildByRegionFatherId(regionFatherId);
if (list.size()>0) {
StringBuilder builder=new StringBuilder();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
ParameterBean bean = (ParameterBean) iterator.next();
builder.append("<option value='"+bean.getRegId()+"'>"+bean.getRegName()+"</option>");
}
HttpServletResponse response=ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
out.write(builder.toString());
out.flush();
out.close();
}
return null;
}
解决方案 »
- 关于Lucene IndexWriter 的 setMergedSegmentWarmer 方法求助
- jsp中调整“我的菜单”各个项的排列顺序
- 在glassfish下怎么开启目录浏览功能
- struts2空表单提交异常。
- 能否控制input file浏览限制
- 求助,关于自定义标签库的属性的问题~~~~~~~~~~
- 关于国际化的问题
- 在电脑上装两个版本的jdk 应该没什么问题吧
- 我的JSP连不上oracle.提示:Connection refused!
- 能否给小弟推荐几本经典的java书籍,另外,说说对于学习java的经验?
- JS代码问题导致幻灯链接失效,请解
- <jsp:include page = "<%=fileName>">
怎么还调用?
onchange="findRegionChild()"
不太清楚这里是不是请求两次$("#regionChild").empty().append(d);
这里可以这样写?不应该是 $("#regionChild").empty();$("#regionChild").append(d);吗?
$.post("<%=path%>/getRegionChildByRegionFather",{regionFatherId:id,'fresh':Math.random()},function (d){
//alert("d="+d);
每次都弹出一下d,看d有没有东西!