jquery EasyUi 添加节点、展开所有节点、默认选中第一个节点

感觉easyUi 的树用起来不如 Ext 的树方便,首先,root节点不太好自定义,

异步加载时,只能通过后台判断生成root节点,但是这样一来有一个问题,就是第一次访问界面时,

树的初始化比较慢,大概会有一秒左右的时间,树是空白的,虽然只有一秒左右的时间,但是对于我来说是没有办法容忍的,所以,我是用 ajax 的方法通过append 将子节点加入进去,然后展开所有节点,并且默认选择第一个子节点


下面是 js 代码


			$(document).ready(function(){
				$("#tree").tree({
					data: [{
						text: '主目录',
						state: 'closed'
					}],
					onSelect: function(selectNode){
						console.log("select: " + selectNode.id);
					}
				});
				
				$.ajax({
					type : "POST",
					dataType : "json",
					url : "testAction_loadTree",
					success : function(data){
						var rootNode = $("#tree").tree('getRoot');
						/* 向root添加子节点 */
						$("#tree").tree('append',{
							parent: rootNode.target,
							data: data
						});
						
						/* 展开所有节点 */
						$("#tree").tree('expandAll');
						
						var children = $("#tree").tree('getChildren',rootNode.target);
						
						/* 选中第一个子节点 */
						$("#tree").tree("select",children[0].target);
					}
				});
			});

ajax 通过后台传递的json数据格式为:


[{"id":"D:\\lucene\\file5\\index","state":"open","text":"D:\\lucene\\file5\\index"},{"id":"D:\\lucene\\file5\\indexwa","state":"open","text":"D:\\lucene\\file5\\indexwa"},{"id":"D:\\lucene\\file5\\index_tmp","state":"open","text":"D:\\lucene\\file5\\index_tmp"},{"id":"D:\\lucene\\file5\\spider","state":"open","text":"D:\\lucene\\file5\\spider"}]

json 是通过fastJson 这个开源的java 工具实现的,挺好用的,在此推荐一下



转载于:https://www.cnblogs.com/moonciki/p/8145853.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值