jstree刷新数据

来源:互联网 发布:世界杯知乎 编辑:程序博客网 时间:2024/06/14 04:24

转载的,原址:http://max.cszi.com/archives/1296

网上资源太少,好不容易在stackoverflow上搜到一个可以用的,本来想自己手写一份的,但是正好网上找到了一篇不错的,所以,嘿嘿嘿。。。

话不多说,直接看代码:

$().ready(function(){vartree=$('#tree');tree.jstree({'core':{data:null}}); $("#xreload").on("click",null,function(e){//e.preventDefault();varurl=$(this).attr("data-url");//+ "?" + Math.random();ajax.get(url,null,"json",function(json){tree.jstree(true).settings.core.data=json;tree.jstree(true).refresh();//console.debug("reloaded.");});});});

关键点:tree.jstree(true).settings.core.data = json;

tree.jstree(true).refresh();


-------------------我是分界线---------------------------

然而,追求完美的我并不愿意在这里止步,我们需要更好的营养。。。

比如我后台返回的json是个map类型的,就是那种{result:ok, deptTree:[{...}, {...}]}这种形式的数据该怎么和jstree结合呢?

在论坛(jstree的讨论地址:https://groups.google.com/forum/#!forum/jstree)上看到的是使用dataFilter,另外多说一句,貌似jstree的作者回复率也比较高。

上代码吧:

$("#deptTree").jstree({core:{multiple:false, //设置为单选data:{url:"getDeptsJuiceDeptAction",dataFilter:function(data){var json = JSON.parse(data)return JSON.stringify(json.deptTree);}},strings: {            'Loading ...' : '正在加载...'        }}});

关键点:

其中deptTree是上述{result:ok, deptTree:[{...}, {...}]}这种格式的deptTree。

dataFilter:function(data){var json = JSON.parse(data)return JSON.stringify(json.deptTree);}

现在来看比较地完美,先到这里。

0 0