地区三级联动实现方式

<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 οnchange="openTwo(this)" id="areaOne">
	</select>

	<select οnchange="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 ASC
		LIMIT #{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 LIKE
				CONCAT(#{code},'%')
				AND
				STATUS='OFF' AND TYPE ='C' ORDER BY CODE
				ASC
			</when>

			<when test="level=='4'.toString()">
				SELECT NAME,CODE FROM AREA WHERE PARENTID LIKE
				CONCAT(#{code},'%')
				AND
				STATUS='OFF' AND TYPE ='D' ORDER BY CODE
				ASC
			</when>

			<when test="code=='P'.toString()">
				SELECT NAME,CODE FROM AREA WHERE CHAR_LENGTH(CODE)=2 ORDER
				BY
				CODE 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;
	}

	// 转bean
	BeanCopier 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值