EasyUI——combobox级联

Easy UI的combobox实现省市县的级联选择


js部分:

<script type="text/javascript">
	$(function(){
		var province = $("#province").combobox({
			valueField:'areaId',
			textField:'name',
			url:'do_cascade.jsp?id=0',
			onChange:function(newValue, oldValue){
	            $.get('do_cascade.jsp',{id:newValue},function(data){
	                city.combobox("clear").combobox('loadData',data);
	                county.combobox("clear");
	            },'json');
	        },
	        //使用onSelect不能实现第一层与第三层的联动
			/* onSelect:function(rec){
				var url = "do_cascade.jsp?id="+rec.areaId;
				$("#city").combobox('reload',url);
			}, */
			onLoadSuccess:onLoadSuccess
		});
		var city = $("#city").combobox({
			valueField:'areaId',
			textField:'name',
			/* onSelect:function(rec){
				var url = "do_cascade.jsp?id="+rec.areaId;
				$("#county").combobox('reload',url);
			}, */
			onChange:function(newValue, oldValue){
	            $.get('do_cascade.jsp',{id:newValue},function(data){
	                country.combobox("clear").combobox('loadData',data);
	            },'json');
	        },
			onLoadSuccess:onLoadSuccess
		});
		var country = $("#county").combobox({
			valueField:'areaId',
			textField:'name',
			onLoadSuccess:onLoadSuccess
		});
	});
	function onLoadSuccess(){
		var target = $(this);
		var data = target.combobox("getData");
		var options = target.combobox("options");
		if(data && data.length>0){
			var fs = data[0];
			target.combobox("setValue",fs[options.valueField]);
		}
	}
</script>


html部分
<body>
	省份:<input id="province" style="width: 80px;">
	市区:<input id="city" style="width: 80px;">
	县城:<input id="county" style="width: 80px;">
</body>


jsp处理页面

	String idStr = request.getParameter("id");
	int id=0;
	if(idStr!=null || !idStr.equals("")){
		id = Integer.parseInt(idStr);
	}
	AreaDao ad = new AreaDaoImpl();
	List<Area> areas = ad.findChildById(id);
	Gson gson = new Gson();
	String json = gson.toJson(areas);
	System.out.print(json);
	out.print(json);

sql语句

select * from area where parentid=? order by vieworder

onLoadSuccess方法实现初始化时加载初始数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值