本来自己动手写了一个treeview的,但是界面太挫了,最后还是觉得下一个好了,下了一ztree,发现功能很强大。但是它的数据都是放在一个Data的js文件中。
后来看了ztree的API发现了一些规律,只要数据满足:
var zNodes =[
{id:1, pId:0, name:"北京"},
{id:2, pId:0, name:"天津"},
{id:3, pId:0, name:"上海"},
{id:6, pId:0, name:"重庆"},
{id:4, pId:0, name:"河北省", open:true},
{id:41, pId:4, name:"石家庄"},
{id:42, pId:4, name:"保定"},
{id:43, pId:4, name:"邯郸"},
{id:44, pId:4, name:"承德"},
{id:5, pId:0, name:"广东省", open:true},
{id:51, pId:5, name:"广州"},
{id:52, pId:5, name:"深圳"},
{id:53, pId:5, name:"东莞"},
{id:54, pId:5, name:"佛山"}]
,并且在setting中添加treeNodeKey: "id", treeNodeParentKey: "pId",就可以从数据中获取的数据来填充节点。
我将数据库查询到的数据化为上面数据的形式了,可是还是不能用,原来传到js中的是string类型的,后来尝试了很多的方法,比如将得到的数据数组化,再化为object,可都行不通,后来偶然间搜到了eval,以前一直不知道eval到底有什么用,现在终于发现他的强大了,就是可以把数据化为json类型的
代码如下: zNodes = eval('(' + zNodes + ')');
总算是完成了第一个基本的功能。关于ztree更多与数据库的交互,以后再继续更新。。。