在今天的开发中遇到一个奇怪的问题。虽然已经被我解决但还是百思不得其解,决定记录一下,看看有没有大神能给我答案。
问题重现:
由于我有4个combotree需要加载数据,但是我又不想每次初始化一个combotree就去访问服务器加载一下数据,于是我将加载数据过程写成这样
$.post('xxxurl',function(data){ $('#inputTree0').combotree('loadData',data); $('#inputTree1').combotree('loadData',data); $('#inputTree2').combotree('loadData',data); $('#ttree').combotree('loadData',data); });
看起来没什么毛病,刷新界面点开那个combotree树也能显示出来,但是,问题来了,当我点击树的节点的时候,节点是选上了,但combo上面并没有显示我所选择的节点的名称,这使我很纳闷。应该已经那个初始化过这个控件了吧(前台代码已经声明过了class="easyui-combotree")然后我换成普通的初始化加载数据的方式对比一下
$('#inputTree0').combotree({ url: "xxxurl" });
这样初始化却又可以选上并显示。
最后我决定换种加载方式:
将$('#inputTree0').combotree('loadData',data);改成$('#inputTree0').combotree({data:data});
这样就解决了之前出现的那个选上但不显示你选了什么的问题了。