关于 jQuery Easyui异步加载tree的问题解析


Posted in Javascript onDecember 06, 2016

想要实现从本地中加载json文件,通过事件来动态的插入到ul中时,遇到了一小bug

html中代码是这样的

<ul class="easyui-tree" id="tt"></ul>

js中的代码

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
changeImgSrc($treeIDNum); 
});
});
function changeImgSrc(nodeID){
var node = $("#tt").tree('find', nodeID);
if(node){
$("#tt").tree('select', node.target);
}
if (node.attributes) {
$("#img-box").attr("src", node.attributes.url);
}
}
function addAttr2Tree(URL){
$("#tt").tree({
url: URL,
method: "get",
animate: true,
lines: true
});
}

起初是想通过一个按钮的点击事件来动态的加载tree的内容就是如上代码,addAttr2Tree 是用来将点击按钮时对应的本地json数据加到html中的ul标签中, changeImgSrc 是对tree节点的一些选中操作以及图片的加载,但是无论怎么调试,总是会出现一条错误

关于 jQuery Easyui异步加载tree的问题解析 

无法获取attributes属性!!!我反复确认attributes是完整无缺的放在json文件里的而且总是第一次点击按钮时才会出现这种错误,第二次及其以后,这种错误是没有的

后来我就想到,是不是因为json数据动态加载的速度比不上程序代码执行的速度?!

果然不出我所料!easyui中tree自带了一个方法onLoadSuccess 当数据成功加载时,才会执行一些操作
所以

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
$("#tt").tree({
onLoadSuccess: function(){
changeImgSrc($treeIDNum);
}
});
});

代码改成这样就可以了。

以上所述是小编给大家介绍的jQuery Easyui异步加载tree的问题解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS对URL字符串进行编码/解码分析
Oct 25 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
在linux中使用包管理器安装node.js
Mar 13 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
Sep 18 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 Javascript
基于vue.js实现的分页
Mar 13 Javascript
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
Vue动态控制input的disabled属性的方法
Jun 26 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
Aug 22 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 Javascript
javascript设计模式之装饰者模式
Jan 30 Javascript
JavaScript之Vue.js【入门基础】
Dec 06 #Javascript
浅析JavaScript中作用域和作用域链
Dec 06 #Javascript
利用JS轻松实现获取表单数据
Dec 06 #Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 #Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
Dec 06 #Javascript
jQuery EasyUI 获取tabs的实例解析
Dec 06 #Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 #Javascript
You might like
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
Python中针对函数处理的特殊方法
2014/03/06 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python输出数学符号实例
2020/05/11 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
python中time.ctime()实例用法
2021/02/03 Python
adidas美国官网:adidas US
2016/09/21 全球购物
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
大专毕业生自我评价分享
2013/11/10 职场文书
草船借箭教学反思
2014/02/03 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
商场收银员岗位职责
2015/04/07 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
委托收款证明
2015/06/23 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书