easyui中combotree默认选中某个节点的问题

##第一次 虽能实现效果,但响应很慢。因为数据比较多,要5-6秒,这样果断的放弃了。

后台

一般的取值,但是最开始时只取到用户的地域。userZone:37

jsp

onloadsuccess方法中处理:展开所有的节点后,使用setValue方法。

onLoadSuccess: function(node, data) {
					var userZone = $('#userZone').val();
					if(!isBlank(userZone)){
						var t = $("#zoneComboTree").combotree('tree');//获取tree  
				        for (var i=0;i<data.length ;i++ ){  
				            node= t.tree("find",data[i].id);  
				            t.tree('expandAll',node.target);//展开所有节点  
				         }  
						$("#zoneComboTree").combotree('setValue',value);//在设置一下combotree的值即可,value为你想选中的那个值,一般从后台取出来在设置的  
					}else{
						var node = $('#zoneComboTree').combotree('tree').tree('getRoot');
						$('#zoneComboTree').combotree('tree').tree('expand', node.target);
					}
					
			    },

第二次 只展开需要展示的地域

后台

取得用户地域的完整路径userZone:37,zonePath:1#36#37

jsp

$(function (){
	//默认的树状结构展示
	initComboTree();
	
	var zonePath = $('#zonePath').val();
	var zoneArray ;
	if(!isBlank(zonePath)){
		zoneArray = zonePath.split('#');
		var url="******";
		var $tree = $('#zoneComboTree').combotree("tree");  
		for(var i = 0; i<zoneArray.length;i++){
			//获取节点
			var node = $tree.tree("find", zoneArray[i]);
			loadComboTreeChild(url,node,'zoneComboTree');
		}
	}
});
function loadComboTreeChild(url,node,componentId){
	$.ajax({
		type: "GET",
	    url:url, 
	    dataType:"json", 
	    async : false,
	    data:{"parentId" : node.id}, 
	    success:function(data, textStatus){  
	    	$('#'+componentId).combotree('tree').tree('append', {
                parent: node.target,
                data: data.result
            });
	    }
	});
}jiek

转载于:https://my.oschina.net/carota/blog/1329820

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值