SSM +Maven 实现 三级联动 无刷新
2016-05-24 16:17
411 查看
java代码:
jsp代码:
效果展示截图:
package com.cn.liuweiying.controller; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.annotation.Resource; import javax.json.JsonArray; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSONObject; import com.cn.liuweiying.bean.One; import com.cn.liuweiying.bean.Three; import com.cn.liuweiying.bean.Two; import com.cn.liuweiying.service.OneService; import net.sf.json.JSONArray; @Controller @RequestMapping("/lian") public class LianController { protected static Logger logger = Logger.getLogger(LianController.class); @Resource private OneService oneService; @RequestMapping(params = "ToOne", method = { RequestMethod.POST, RequestMethod.GET }) public ModelAndView ToOne(HttpServletRequest request,HttpServletResponse response) throws IOException { ModelAndView view = new ModelAndView(); response.setCharacterEncoding("UTF-8"); JSONArray jsonarray = null; // 查询所有的一级 List<One> onelist = oneService.findOneAll(); jsonarray = JSONArray.fromObject(onelist); PrintWriter out = response.getWriter(); out.print(jsonarray.toString()); out.flush(); out.close(); view.addObject("onelist", onelist); view.setViewName("lian"); return view; } // 获得一级父id获取二级 @RequestMapping(params = "ToTwo", method = { RequestMethod.POST, RequestMethod.GET }) public ModelAndView ToTwo(HttpServletRequest request,HttpServletResponse response,Integer one) throws IOException { ModelAndView view = new ModelAndView(); //JSONObject jsonObject = new JSONObject(); response.setCharacterEncoding("UTF-8"); JSONArray jsonarray = null; One one1 = oneService.selectByPrimaryKeyOne(one); int oneid = one1.getOneid(); List<Two> twolist = oneService.findTwoByFaterid(oneid); jsonarray = JSONArray.fromObject(twolist); PrintWriter out = response.getWriter(); out.print(jsonarray.toString()); out.flush(); out.close(); view.addObject("twolist", twolist); view.setViewName("lian"); return view; } // 获得二级父id获得三级 @RequestMapping(params = "ToThree", method = { RequestMethod.POST, RequestMethod.GET }) public ModelAndView ToThree(HttpServletRequest request,HttpServletResponse response,Integer two) throws IOException { ModelAndView view = new ModelAndView(); response.setCharacterEncoding("UTF-8"); JSONArray jsonarray = null; Two two1 = oneService.selectByPrimaryKeybyTwo(two); int twoid = two1.getTwoid(); List<Three> threelist = oneService.findThreeByFaterid(twoid); jsonarray = JSONArray.fromObject(threelist); PrintWriter out = response.getWriter(); out.print(jsonarray.toString()); out.flush(); out.close(); view.addObject("threelist", threelist); view.setViewName("lian"); return view; } }
jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <base href="<%=basePath%>"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> <script type="text/javascript"> $().ready(function(){ alert("开始") $.post("lian.do?ToOne",function(data){ alert(data) var dataObj=eval("("+data+")"); for(var i=0;i<dataObj.length;i++){ var $option=$("<option></option>"); $option.attr("value",dataObj[i].oneid); $option.text(dataObj[i].onename); $("#one").append($option); } }); /********************************************************************************************************/ //一级引起二级的变化 $("#one").change(function(){ var jsonObj={ oneid:$(this).val() } //删除二级下所有的下拉选,保留<option value="">请选择.....</option> $("#two option[value!='']").remove(); //删除三级下所有的下拉选保留<option value="">请选择.....</option> $("#three option[value!='']").remove(); $.post("lian.do?one="+$("#one").val()+"&ToTwo",jsonObj,function(data,textStatus){ var dataObj=eval("("+data+")"); for(var i=0;i<dataObj.length;i++){ var $option=$("<option></option>"); $option.attr("value",dataObj[i].twoid); $option.text(dataObj[i].twoname); $("#two").append($option); } }); }); /********************************************************************************************************/ //二级引起三级的变化 $("#two").change(function(){ var jsonObj={ twoid:$(this).val() } //删除三级下所有的下拉选保留<option value="">请选择.....</option> $("#three option[value!='']").remove(); $.post("lian.do?two="+$("#two").val()+"&ToThree",jsonObj,function(data,textStatus){ var dataObj=eval("("+data+")"); for(var i=0;i<dataObj.length;i++){ var $option=$("<option></option>"); $option.attr("value",dataObj[i].threeid); $option.text(dataObj[i].threename); $("#three").append($option); } }); }); /********************************************************************************************************/ }); </script> <title>Insert title here</title> </head> <body> <h3 style="color: red" align="center">${message }</h3> <select class="form-control" id="one" name="one"> <option value="${one.oneid==null?'':one.oneid}" selected> ${one.onename==null?"请选择...":one.onename}</option> </select> <select class="form-control" id="two" name="two"> <option value="${two.twoid==null?'':two.twoid}">${two.twoname==null?"请选择...":two.twoname}</option> </select> <select class="form-control" id="three" name="three"> <option value="${three.threeid==null?'':three.threeid}">${three.threename==null?"请选择...":three.threename}</option> </select> </body> </html>
效果展示截图:
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- maven学习
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序