jQuery easyUI tree

  jQuery easyUI tree来实现异步树。我在用action来实现异步时没有成功,post和get提交方式都试了的。最后我选择了用JSP页面的方法来实现异步,通过传不同的值来判断执行的SQL,从而返回不同的数据。我的action代码和JSP页面代码类似,就是不知道为什么action的方式不行、、、(有大神知道的,可以给我说说嘛!)

JSP页面部分代码

	StringBuffer sql = new StringBuffer();
	StringBuffer sb = new StringBuffer();
	String pid = null == request.getParameter("pid") ? "" : request
			.getParameter("pid");
	String latnId = null == request.getParameter("latnId") ? ""
			: request.getParameter("latnId");
	String areaId = null == request.getParameter("areaId") ? ""
			: request.getParameter("areaId");
	String state = null == request.getParameter("state") ? ""
			: request.getParameter("state");
	String outlinkId = userInfo.getOutlinkId().toString();
	sb.append("[");
	if ("a".equals(pid)) {
		sql.append(" select a_id id,a_name text  ");
		sql.append(" from agt_area t           ");
		sql.append(" where t.a_level=3           ");
		List<Map<String, Object>> list = JdbcUtil
				.getJdbcTemplate(
						com.njtd.frame.util.SpringBeanUtil.Config.DATA_SOURCE_SC_BEAN_ID)
				.queryForList(sql.toString());
		for (Map<String, Object> map : list) {
			sb.append("{\"id\":\"" + map.get("ID") + "\",\"text\":\""
					+ map.get("TEXT") + "\",\"attributes\":\"" + "Area");
			if("1".equals(state)){
				sb.append("\",\"state\":\"" + "closed"
						+ "\"},");
			}else{
				sb.append("\"},");
			}
					
		}
	} else if ("Area".equals(pid)) {
		sql.append(" select a_id id,a_name text  ");
		sql.append(" from agt_area t           ");
		sql.append(" where t.a_level=4           ");
		sql.append("  and t.a_uper=" + latnId);
		List<Map<String, Object>> list = JdbcUtil
				.getJdbcTemplate(
						com.njtd.frame.util.SpringBeanUtil.Config.DATA_SOURCE_SC_BEAN_ID)
				.queryForList(sql.toString());
		for (Map<String, Object> map : list) {
			sb.append("{\"id\":\"" + map.get("ID") + "\",\"text\":\""
					+ map.get("TEXT") + "\",\"attributes\":\"" + "Counties");
			if("1".equals(state)){
				sb.append("\",\"state\":\"" + "closed"
						+ "\"},");
			}else{
				sb.append("\"},");
			}
		}
	} else if ("Counties".equals(pid)) {
		sql.append(" select k.branch_id id,k.name text   ");
		sql.append(" from agt_branch k  ");
		sql.append(" where k.area_id=" + areaId);
		sql.append("  and k.agent_id in (   ");
		sql.append("   select p.agent_id from agt_agent p connect by prior   ");
		sql.append("    p.agent_id=p.parent_agent_id   ");
		sql.append("    start with p.agent_id=" + outlinkId + ")  ");
		List<Map<String, Object>> list = JdbcUtil
				.getJdbcTemplate(
						com.njtd.frame.util.SpringBeanUtil.Config.DATA_SOURCE_SC_BEAN_ID)
				.queryForList(sql.toString());
		for (Map<String, Object> map : list) {
			sb.append("{\"id\":\"" + map.get("ID") + "\",\"text\":\""
					+ map.get("TEXT") + "\",\"attributes\":\"" + "wangdian"
					+ "\"},");
		}
	}
	sb.deleteCharAt(sb.length() - 1);
	sb.append("]");

	response.getWriter().write(sb.toString());


HTML页面部分代码

		<input type="button" value="确定"  οnclick="confirm();" />
		<div id="showBranchInfoDiv">
			<div>正在查询数据,请稍候...</div>
		</div>


JavaScript部分代码

function findBranchId(){
				$(document).progressDialog.showDialog("正在查询网点,请稍候...");//屏幕遮掩。。
				showBranchInfoDiv();
				$(document).progressDialog.hideDialog();//隐藏遮掩。
			}
			function confirm(){
				var wangdian = '';
				var nodes = $('#showBranchInfoDiv').tree('getChecked');
				if(null!=nodes && nodes.length>0){
					for(var i=0;i<nodes.length;i++){
						if("wangdian" == nodes[i].attributes){
							wangdian+=nodes[i].id;
							wangdian+=",";
						}
					}
				}
				wangdian = wangdian.substring(0,wangdian.length-1);
				window.parent.getWangdian(wangdian);
			}
			
			function showBranchInfoDiv(){
					//一次性全部加载,通过action得到全部数据
				/*$.ajax({
					type: "POST",
					url: "<%=path%>/rewardCheck/findAreaCountiesBranch.do",
					dataType:"json",
					success:function(dd){
						$('#showBranchInfoDiv').tree({data:eval('{'+dd+'}'),checkbox:true,cascadeCheck:true});
					},
					error:function(){}
				});*/
					//错了
		       /*$('#showBranchInfoDiv').tree({
		       		method:"get",
		            checkbox: true,
		            url: '<%=path%>/rewardCheck/findAreaData.do', //这是第一次加载树的url 加载根节点
		           
		            onLoadSuccess:function(node,data){
		            	alert(node+"   ---   "+data.length);
		            	alert("onLoadSuccess");
		            },
		            onLoadError:function(arguments){
		            	alert(arguments);
		            	alert("onLoadError");
		            }
		        }); */
		        	//异步加载,通过JSP页面来得到数据
				$('#showBranchInfoDiv').tree({
		            checkbox: true,
		            url: '<%=path%>/view/rewardCheck/data.jsp?pid=a&state=1', //这是第一次加载树的url 加载根节点
		            onBeforeExpand:function(node){
		            	if("Area"==node.attributes){
		                	$("#showBranchInfoDiv").tree('options').url='<%=path%>/view/rewardCheck/data.jsp?pid=Area&state=1&latnId='+node.id; //这是点击根节点的时候发送请求去加载子节点
		            	}else if("Counties"==node.attributes){
		            		$("#showBranchInfoDiv").tree('options').url='<%=path%>/view/rewardCheck/data.jsp?pid=Counties&state=1&areaId='+node.id; //这是点击根节点的时候发送请求去加载子节点
		            	}
		            }
		        });			}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值