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

摘要:
感觉easyUi的树用起来不如Ext的树方便,首先,root节点不太好自定义,异步加载时,只能通过后台判断生成root节点,但是这样一来有一个问题,就是第一次访问界面时,树的初始化比较慢,大概会有一秒左右的时间,树是空白的,虽然只有一秒左右的时间,但是对于我来说是没有办法容忍的,所以,我是用ajax的方法通过append将子节点加入进去,然后展开所有节点,并且默认选择第一个子节点下面是js代码$(

感觉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 工具实现的,挺好用的,在此推荐一下

免责声明:文章转载自《jquery EasyUi 添加节点、展开所有节点、默认选中第一个节点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Unity3D之如何将包大小减少到极致wpf自定义控件绑定依赖属性下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传

建立.NET Core Web Api项目建立请求模型 public class UserInfo { public int Age { get; set; } public string Name { get; set; } public bool Sex { get; set; }...

jQuery快速入门

---恢复内容开始--- jQuery 快速入门 jQuery介绍 1、jQuery是一个轻量级的、兼容多浏览器的JavaScript 库。 2、jQuery使用户能够更方便的处理HTML Document、Events、实现动画效果, 方便的进行Ajax交互, 能够极大的简化JavaScript编程。 它的宗旨就是:write less. do more...

关于 angular 项目 结合 RequireJs 的问题整理

1、在 将 依赖的js 通过 require.config 设置 映射的时候,结合dataTables.bootstrap.js和 jquery.dataTables.js 时 遇到如下报错: Uncaught Error: Script error for "datatables.net", needed by: dataTablesbootstrap;...

jQuery插件的使用和写法

jQuery的插件主要分成3种类型。   1.封装对象方法的插件    这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进行操作,是最常见的一种插件。 2.封装全局函数的插件    可以将独立的函数加到jQuery命名空间之下。例如jQuery.noConflict()方法、常用的jQuery.ajax()方法以及去除首位空格的jQu...

jquery插件:点击拉出的右侧滑动菜单

就是一个停留在页面右侧的滑动菜单,点击可以拉出,带回调函数。宽高位置可以参数指定。插件代码如下: (jquery的路径请自己修改) (function($){ $.fn.sideSwitch = function(opts){ var defaults = { contentWidth:'400px', c...

JQuery 限制文本输入只能输入数字(可自定义正则表达式)

var JVerify ={ role: { number: /[0-9/]/, decimal: /[0-9./]/, code: /[0-9A-Z]/}, Verify: function() { for (var prop inJVerify.role) { $("[role^='" +...