关于 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 相关文章推荐
一个javascript参数的小问题
Mar 02 Javascript
使用JQuery进行跨域请求
Jan 25 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
jQuery实现鼠标经过图片预览大图效果
Apr 10 Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
Aug 19 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
Aug 31 Javascript
Bootstrap如何激活导航状态
Mar 22 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
vue基于v-charts封装双向条形图的实现代码
Dec 09 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
Feb 15 Javascript
用VsCode编辑TypeScript的实现方法
May 07 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
php懒人函数 自动添加数据
2011/06/28 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
php建立Ftp连接的方法
2015/03/07 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
python爬虫简单的添加代理进行访问的实现代码
2019/04/04 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
学生打架检讨书1000字
2014/01/16 职场文书
优秀高中生事迹材料
2014/02/11 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
2014年体育工作总结
2014/11/24 职场文书
倡议书作文
2015/01/19 职场文书
关于学习的决心书
2015/02/05 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
教师节简报
2015/07/20 职场文书
毕业欢送会致辞
2015/07/29 职场文书
话题作文之成长
2019/12/09 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers