1、建表
image.png
一級下拉選沒有father_id,二級下拉選的father_id是一級下拉選的id,三級下拉選的father_id是二級下拉選的id,以此類推。 2、SQL
<!-- 報修工單 1級下拉選--> <select id="findFirst1" resultMap="BaseResultMap"> SELECT id, "name", father_id FROM out_dictionary WHERE father_id IS NULL </select> <!-- 報修工單 2級下拉選--> <select id="findSecond2" resultMap="BaseResultMap"> SELECT id, "name" , "type", father_id FROM out_dictionary WHERE father_id =#{fatherId} </select> <!-- 報修工單 3級下拉選--> <select id="findThird3" resultMap="BaseResultMap"> SELECT id, "name", "type", father_id FROM out_dictionary WHERE father_id =#{fatherId} </select>
3、Dao、Service
/** * 報修工單 一級下拉選 * @param domainId * @return */ List<OutDictionary> findFirst1(); /** * 報修工單 二級下拉選 * @param fatherId * @return */ List<OutDictionary> findSecond2(Integer fatherId); /** * 報修工單 三級下拉選 * @param fatherId * @return */ List<OutDictionary> findThird3(Integer fatherId);
4、impl
@Autowired private OutDictionaryDao OutDictionaryMapper; //報修工單 一級下拉選 @Override public List<OutDictionary> findFirst1() { return OutDictionaryMapper.findFirst1(); } //報修工單 二級下拉選 @Override public List<OutDictionary> findSecond2(Integer fatherId) { return OutDictionaryMapper.findSecond2(fatherId); } //報修工單 三級下拉選 @Override public List<OutDictionary> findThird3(Integer fatherId) { return OutDictionaryMapper.findThird3(fatherId); }
5、Controller層
/** * 報修工單一級下拉選 * @param req * @return */ @RequestMapping(value = "/inFirst1", method = RequestMethod.POST) @ResponseBody public JSONArray inFirst1( HttpServletRequest req) { //Integer domainId = Integer.parseInt(req.getSession().getAttribute("domainId").toString()); List<OutDictionary> first = outDictionaryService.findFirst1(); JSONArray jsonArr = JSONArray.fromObject(first); return jsonArr; } /** * 報修工單二級下拉選 * @param req * @return */ @RequestMapping(value = "/inSecond2", method = RequestMethod.POST) @ResponseBody public JSONArray inSecond2(Integer fatherId,HttpServletRequest req) { //Integer domainId = Integer.parseInt(req.getSession().getAttribute("domainId").toString()); List<OutDictionary> second = outDictionaryService.findSecond2(fatherId); JSONArray jsonArr = JSONArray.fromObject(second); return jsonArr; } /** * 報修工單三級下拉選 * @return */ @RequestMapping(value = "/inThird3", method = RequestMethod.POST) @ResponseBody public JSONArray inThird3(Integer fatherId,HttpServletRequest req) { //Integer domainId = Integer.parseInt(req.getSession().getAttribute("domainId").toString()); List<OutDictionary> third = outDictionaryService.findThird3(fatherId); JSONArray jsonArr = JSONArray.fromObject(third); return jsonArr; }
6、JS
//一二三級分類 下拉選 $('#select_first_rep').combobox({ url : '${path }' + '/dictionary/inFirst1', valueField : 'id', textField : 'name', onSelect : function() { var xqmc = $('#select_first_rep').combobox('getText');//獲取當前選中的 var pccode = $('#select_first_rep').combobox('getValues')[0];//獲取當前選 $('#select_second_rep').combobox({ url : '${path }'+'/dictionary/inSecond2?fatherId='+pccode, valueField : 'id', textField : 'name', onSelect : function() { var pccode1 = $('#select_second_rep').combobox('getValues'); var fId; if(pccode1!=null){ fId=pccode1[0]; } $('#select_third_rep').combobox({ url : '${path }'+'/dictionary/inThird3?fatherId='+fId, valueField : 'id', textField : 'name', onSelect : function() {} }) } }) } })