地区三级联动实现方式

来源:互联网 发布:在线数据采集 编辑:程序博客网 时间:2024/05/08 17:42
<pre name="code" class="html"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>rui</title><script type="text/javascript"src="resources/js/comm/jquery-1.8.0.min.js"></script><script type="text/javascript">$(function() {getAreas("P", "#areaOne");})function openTwo(code) {$("#areaTwo").html('<option value="">请选择:</option>');$("#areaThree").html('<option value="">请选择:</option>');getAreas(code.value, "#areaTwo");}function openThree(code) {getAreas(code.value, "#areaThree");}//通过等级获取了菜单function getAreas(level, seleId) {$.ajax({url : "/baseClicent/base/getAreas",type : "POST",dataType : "json",data : {code : level},success : function(returnData, status) {if (status = "success") {var data = returnData.data;//alert(JSON.stringify(data))$(seleId).html('<option value="">请选择:</option>');var html = '';for (var i = 0; i < data.length; i++) {html += '<option value="'+data[i].code+'" >'+ data[i].name + '</option>';}$(seleId).append(html);}}});}</script></head><body><select onchange="openTwo(this)" id="areaOne"></select><select onchange="openThree(this)" id="areaTwo"><option>请选择</option></select><select id="areaThree"><option>请选择</option></select></body></html>


<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.youboy.base.mapper.AreaMapper"><cache eviction="LRU" size="500" readOnly="true" /><!-- 关联多表所需查询字段sql 单位和状态 --><sql id="selectJoinTabField"></sql><!-- 插入字段sql --><sql id="dbField"><trim suffix="" suffixOverrides=","><!-- <if test="amount != null and amount != ''">AMOUNT,</if> --></trim></sql><!-- 插入值sql --><sql id="dbFieldValue"><trim suffix="" suffixOverrides=","><!-- <if test="amount != null and amount != ''">#{amount},</if> --></trim></sql><!-- 更新对象判断 --><sql id="dbUpdateField"><set></set></sql><!-- 搜索条件判断 --><sql id="dbSearchField"><where><!-- <if test="employee != null and employee != ''">AND EMPLOYEE=#{employee}</if> --></where></sql><!--=========================查询数据返回集合 配置====================================================== --><resultMap type="com.youboy.base.domain.BArea" id="resultMapId"><id property="id" column="id" jdbcType="INTEGER" javaType="Integer" /></resultMap><!--=========================增加============================================================================= --><insert id="insert" parameterType="com.youboy.base.domain.BArea">INSERT INTO DEPOSIT (<include refid="dbField" />)VALUES(<include refid="dbFieldValue" />)</insert><!--=========================修改===================================================== --><update id="update" parameterType="com.youboy.base.domain.BArea"></update><!--=========================删除 ==================================================================== --><delete id="delete" parameterType="Integer"></delete><!--=========================根据id查询对象 productResMap =========================================================== --><select id="get" parameterType="Integer" resultMap="resultMapId"></select><!--=========================查询搜索 账户信息 变更情况 ============================================================================= --><select id="queryPage" parameterType="com.youboy.baseSystemService.dto.query.Query"resultMap="resultMapId">SELECT * FROM AREA<include refid="dbSearchField" />ORDER BY CODE ASCLIMIT #{mStartRow},#{mPageSize}</select><!--=========================查询总记录数 ===================================================================== --><select id="searchDataSize" parameterType="com.youboy.baseSystemService.dto.query.Query"resultType="long">SELECT COUNT(*) AS COUNT FROM AREA TP<include refid="dbSearchField" /></select><!--=========================查询全部 ============================================================================= --><select id="queryByLevel" parameterType="string" resultMap="resultMapId"><choose><when test="level=='2'.toString()">SELECT NAME,CODE FROM AREA WHERE PARENTID LIKECONCAT(#{code},'%')ANDSTATUS='OFF' AND TYPE ='C' ORDER BY CODEASC</when><when test="level=='4'.toString()">SELECT NAME,CODE FROM AREA WHERE PARENTID LIKECONCAT(#{code},'%')ANDSTATUS='OFF' AND TYPE ='D' ORDER BY CODEASC</when><when test="code=='P'.toString()">SELECT NAME,CODE FROM AREA WHERE CHAR_LENGTH(CODE)=2 ORDERBYCODE ASC;</when></choose></select></mapper>

  @Override    public List<AreaBean> queryBylevel(String code) throws baseWebOSException {if ("".equals(code) || null == code) {    throw new baseWebOSException(ExceptionCode.ARED_QUERY, "地区编码不能为空");}String level = code.length() + "";// 直辖市if ("11".equals(code) || "12".equals(code) || "31".equals(code)|| "50".equals(code)) {    level = "4";}// 直辖市 没有三级可查if (code.length() == 6) {    return null;}List<BArea> result = areaDao.queryByLevel(level, code);if (result == null) {    return null;}// 转beanBeanCopier copier = BeanCopier.create(BArea.class, AreaBean.class,false);List<AreaBean> beanList = new LinkedList<AreaBean>();for (BArea entity : result) {    AreaBean area = new AreaBean();    copier.copy(entity, area, null);    beanList.add(area);}return beanList;    }


1 0
原创粉丝点击