本文引用網址 http://my.oschina.net/u/780884/blog/223595
jsp頁面
1 <script type="text/javascript">
2 $(function(){
3 $("#language_tm2008").change(function(){
4 var company = $("#language_tm2008").val();
5 $.ajax({
6 type:"POST",
7 url :"<%=basePath %>view/report/getDepart.do",
8 data:{
9 companyId:company
10 },
11 dataType:"json",
12 success:function(data){
13 $("#language_tm2009").empty();
14 $("#language_tm2009").append("<option value=''>----選擇申請部門----</option>");
15 $.each(data.tasks,function(index,item){
16 $("#language_tm2009").append( "<option value='"+item.id+"'>"+item.name+"</option>");
17 });
18 }
19 });
20 });
21 });
22 </script>
第一級公司是固定的 <select name="search_EQ_department_c" class="sel_hei" id="language_tm2008">
<option value="">選擇申請公司</option>
<option value="4028805120f505f90120f54ca9320047">省公司</option>
<option value="4028805120f505f90120f54ca9320046">地市</option>
</select>
第二級部門 <select name="search_EQ_department_d" class="sel_hei" id="language_tm2009">
<option value="">----選擇申請部門----</option>
</select>
后台代碼:
1 @RequestMapping(value="/getDepart") 2 public @ResponseBody Map<String,Object> getDepartment(String companyId){ 3 //獲得部門列表 4 List<Department> departmentList = this.commonReportService.getApplyDepart(companyId); 5 6 Map<String,Object> jsonMap = new HashMap<String, Object>(); 7 List list = null; 8 if(null != departmentList && departmentList.size()>0){ 9 list = new ArrayList(); 10 for(Department depart : departmentList){ 11 Map<String,String> taskMap=new HashMap<String,String>(); 12 13 taskMap.put("id", depart.getId()); 14 taskMap.put("name", depart.getName()); 15 list.add(taskMap); 16 } 17 } 18 jsonMap.put("tasks", list); 19 return jsonMap;
JSP頁面提交form表單后,返回到當前頁面的時候,我們要求還是提交前的查詢條件,那么就要從后台返回一個二級菜單的列表 和 提交前的 查詢條件。
1 <select name="search_EQ_department_d" class="sel_hei" id="language_tm2009"> 2 <option value="">----選擇申請部門----</option> 3 <c:if test="${departmentList!=null && fn:length(departmentList)>0}"> 4 <c:forEach items="${departmentList}" var="depart" varStatus="go"> 5 <option value="${depart.id}" <c:if test="${depart.id == searchParams['EQ_department_d']}">selected="selected"</c:if> >${depart.name}</option> 6 </c:forEach> 7 </c:if> 8 </select>