求大家给个简单的 zTree 例子

McArthur 发布于 2013/01/03 02:56
阅读 10K+
收藏 1

我最近在用python的cgi做一个界面,想用开源zTree来做界面。但是我没有做过php曾经,而且自带的那个php防到服务器上也没法用。

我其实就是想知道从服务器究竟传的是什么值啊?哪位大侠给我简单点,就把字符串发过来即可。

例子一定要针对自带文件的core/async.html,帮我翻一下究竟从服务器传到用户端的数据是什么?比如:"[{id:1, pId:0, name: "parenet1"},{id:1, pId:0, name: "parenet1"}]",然后我打算把这个字符串直接通过python传到页面,看看效果。

实在是太苦啦。。。。

加载中
0
zTree
zTree

1、首先要知道调试方法,http://www.ztree.me/v3/demo.php#_108 用 chrome 访问这个异步加载的Demo,然后按下 F12,打开 调试工具, 选择 Network,这时候每次展开父节点进行异步加载时,你都可以看到 getNodes.php 的调用,点击它,然后会看到右侧有一排 tab,选择 Response 就可以看到结果了

2、其中一部分节点数据的案例:

[{ id:'031', name:'n3.n1', isParent:true},{ id:'032', name:'n3.n2', isParent:false},{ id:'033', name:'n3.n3', isParent:true},{ id:'034', name:'n3.n4', isParent:false}]

0
McArthur
McArthur

引用来自“zTree”的答案

1、首先要知道调试方法,http://www.ztree.me/v3/demo.php#_108 用 chrome 访问这个异步加载的Demo,然后按下 F12,打开 调试工具, 选择 Network,这时候每次展开父节点进行异步加载时,你都可以看到 getNodes.php 的调用,点击它,然后会看到右侧有一排 tab,选择 Response 就可以看到结果了

2、其中一部分节点数据的案例:

[{ id:'031', name:'n3.n1', isParent:true},{ id:'032', name:'n3.n2', isParent:false},{ id:'033', name:'n3.n3', isParent:true},{ id:'034', name:'n3.n4', isParent:false}]

谢谢大牛的答复。很感谢,不仅回答了,而且还教我调试的方法。

方法的确好,终于知道了传递的字符串了。您在例子里面的程序不是通过查询数据库的,而是简单的添加节点。现在我遇到需要查询数据库的问题。

在使用异步的方法的时候,当我点了子子节点后(它还包含其它节点),然后我的python cgi程序需要进行数据库查询,但是我必须得知道子子节点的父亲的父亲节点是什么。那么通过cgi程序,如何能够得到这个父亲的父亲节点呢?是不是通过ztree的javascript来给传值呢?如果是的话,哪里是入口呢?如果是在cgi端进行访问的话,cgi如何能够得到DOM呢?

查了好久,无法得到答案。再次谢谢大牛。

0
zTree
zTree
这个要继续利用调试方法,看看 zTree 异步加载的Demo, 其实利用 autoParam 每次都可以把当前父节点的id传递给后台。。。这一次不用看 Response,而应该看 Headers 这里面有 提交请求时的全部参数,请看 Form Data
McArthur
McArthur
我指父亲的父亲节点该怎么办呢?因为我要在数据库里面查,所以必须知道上上级的值,您说的还是父亲节点我知道可以查,但是如果level是4的时候,如何知道level0的值呢?
0
McArthur
McArthur

引用来自“zTree”的答案

这个要继续利用调试方法,看看 zTree 异步加载的Demo, 其实利用 autoParam 每次都可以把当前父节点的id传递给后台。。。这一次不用看 Response,而应该看 Headers 这里面有 提交请求时的全部参数,请看 Form Data

我指父亲的父亲节点该怎么办呢?因为我要在数据库里面查,所以必须知道上上级的值,您说的父亲节点我知道可以查,但是如果level是4的时候,如何知道level0的值呢?谢谢啦。


zTree
zTree
利用 getParentNode 方法简单递归即可
0
McArthur
McArthur

引用来自“zTree”的答案

这个要继续利用调试方法,看看 zTree 异步加载的Demo, 其实利用 autoParam 每次都可以把当前父节点的id传递给后台。。。这一次不用看 Response,而应该看 Headers 这里面有 提交请求时的全部参数,请看 Form Data

我再详细下我的问题:

当我点X02的时候,我同时想把MP17的值也传入服务器,通过这样我才可以通过数据库来调出X02下面的枝节,在DEMO中我只能把X02传到服务器,希望大牛给个解释,如何适应demo  http://www.ztree.me/v3/demo.php#

McArthur
McArthur
回复 @zTree : 谢谢,终于可以工作了。我采用了url的方式:zTreeObj.setting.async.url = './cgi-bin/hello_get-ajax_getNodes.cgi' + "?" + urlParam;
McArthur
McArthur
谢谢您的回答,我再接着试一试。等我的消息哦。
zTree
zTree
对于需要动态获取数值的情况,你可以利用 beforeAsync 这个回调在里面动态修改 otherParam 的值,或者直接利用 async.url = function 。。。。在每次获取url 的时候直接把此参数放在url 上面; 这两种方法都可行,请根据你的需求决定
0
edielei
edielei

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8" />
<meta name="author" content="EdieLei" />
<title>Demo</title>
<link rel="stylesheet" type="text/css" href="css/zTreeStyle/zTreeStyle.css" />
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery.ztree.all-3.5.min.js"></script>
<script type="text/javascript">
$(function(){
	var zNodes=[
		{name:"测试1"},
		{name:"测试2",icon:"css/zTreeStyle/img/diy/8.png"},
		{name:"测试3"},
		{name:"测试4"},
		{name:"测试5"}
		
	];
	$.fn.zTree.init($("#demo"), {view:{showLine:false}}, zNodes);
});
</script>
</head>
<body>
<ul id="demo" class="ztree" style="border:1px #000 solid;overflow:auto;"></ul>
</body>
</html>

最简单的例子了,给。。

McArthur
McArthur
谢谢您的例子,这个确实是最简单的例子,可以看看我上面的问题吗?帮我看看有没有类似的例子。
返回顶部
顶部