level 4
我通过JSON从数据库取出了一个包含id,name,pid,url的JSON数据,怎样让checkbox勾选上对应的权限呢?然后再提交的时候怎样获得选中的checkbox呢?
2011年12月31日 06点12分
1
level 11
1、初始化勾选,请给 json数据设置 checked 属性,并且设置为 true
2、获取被勾选的节点 可以利用 getCheckedNodes 方法。得到的都是节点数据!
2011年12月31日 08点12分
2
level 4
"1、初始化勾选,请给 json数据设置 checked 属性,并且设置为 true"--要是像您说的这样,问题就来了...首先,我数据库获得的数据,数据量比较大,而且没有checked 属性,所以这个暂时不知道怎么添加进去.而且,我要做的是权限管理的,首先有个下拉框,可以选择一个角色,权限就是zTree这棵树,每选择一个角色,对应权限是不同的.角色改变,这棵树就要重新勾选...有什么解决方法呢?谢谢...想问一句,为什么您JS生成的zTree里面的html的DOM的属性不和数据的id关联起来呢?只要知道数据的id就能操作这棵树,不是更好?
2011年12月31日 08点12分
3
level 11
1、zTree 是以数据为主,这样可以更加灵活。
2、DOM 其实都和节点数据关联的,只不过不是id 而是 tId,这一点你观察一下就能发现了。因为这样能避免由于用户的失误导致重复id;
3、如果是后期勾选,可以利用 getNodeByParam方法查找节点,可以利用 checkNode 方法进行勾选
2011年12月31日 09点12分
4
level 4
嗯嗯,好的,谢谢了.请允许我想给点建议,首先我觉得应该可以设置tId的和JSON数据的某个属性关联,这样方便别人操作,可移植性更好.其实实现起来也挺简单,只要判断一下用户有没有设置这个属性,没有就默认就好.而且zTree需要JSON中要有checked属性这样在实际应用中,基本上都没.怎么办?可以通过tId直接设置checked...我也修改了你的源代码,可以设置是否应用url,就是点击是否跳转以及我还修改了跳转的target等等...一个好的框架应该综合考虑性能和用户体验,不能只靠自己的想法...不然每个使用该框架的人都要去修改源代码,这样你懂的...纯粹建议,没有恶意,谢谢!
2012年01月04日 01点01分
5
level 11
你好,很高兴你能提这些建议,希望跟你能继续探讨。
关于你说的我不是特别理解,我个人感觉你的要求目前完全都可以满足的呀。
1、getNodeByTId,通过这个方法可以得到节点数据,得到了节点数据那么你可以随意设置节点的任意属性,而且不仅仅是这个checked属性
2、对于已经显示的节点,可以使用checkNode方法勾选,也会自动改变其checked属性
3、url、target、click这几个属性算是比较强制固定的了,但如果你不想用可以使用其他属性即可(不太清楚你是如何修改的,实现了你的什么功能?)
4、zTree 就是开源的,用户可以随意修改,但我也不建议大家都来修改源码,这样也不利于升级的。我希望能直接使用 zTree 的配置和提供的方法直接实现各种功能。
总之,目前来说就是对于 url、target、click这几个属性你自己做了修改,我不太清楚原因。不明白为何一定要修改源码,说实话这几个也是最原始最基础的几个功能,后来没有人提过需求,也没有修改过。望继续沟通,谢谢!
2012年01月04日 15点01分
6
level 1
你好,我做的是一个含有top,left,right三个页面在一个页面的网页,树形菜单我放在左边的页面里面,内容变化的页面放在右边的网页里面,我想问的是 我在node里面添加了url属性和值,但是我点击的时候它是重新打开一个浏览窗口进行显示,我怎么样才能让点击url之后内容显示在我的right的那个页面里面。谢谢了!
2012年01月05日 08点01分
7
level 11
这个so easy 呀。 treeNode.target 就是用来解决这个问题的。 就跟 a 标签中 target 的作用完全一样, target只要指向你的right 这个iframe就是了
2012年01月06日 01点01分
8
level 4
嗯嗯,谢谢你的回答!其实我修改url、target、click是为了代码重用而已,简单的说在首页面显示树状菜单,点击叶节点需要跳转;在权限管理页面,我只需要实现出来,点击它不能跳转.我觉得这些应该有传参数,让用户可以控制比较好!...现在我还是没有解决勾选的问题,你说的可以用JSON的数据属性来查找对应的节点用getNodeByParam,但是我的权限管理页面怎么样调用它呢?有4个参数都是你设置的内部参数...还有据我所知你的Tid是类似自动增长的,和JSON数据都没关联,如果在你js的内部调用就能找到对应节点.我需要在页面调用你的内部方法,好像不能找到对应的Tid的哟...是吧?
2012年01月09日 08点01分
9
level 11
1、tId 是用于内部的唯一标识,你可以使用,也可以不使用。从实现方面来说,就是和你定义的id没有任何关系。
2、getNodeByTId 方法需要你知道tId,但是getNodeByParam方法可以根据你自己定义的任何节点数据属性 (string、number类型)进行搜索,你可以去看看“根据参数查找节点”的Demo,这里不让输入 url,所以我就没办法给你发链接了。
3、v3.0 中有 getZTreeObj 方法,你可以根据 zTree 容器的id随时获取该树的zTreeObj 通过这个对象你可以使用 zTree 提供出来的很多方法,这个请看 API 文档中的 “zTree 方法详解” 其中勾选操作就是 zTreeObj.checkNode方法,这个可以看 “复选框功能演示”里面有很简单的Demo
4、如果能够利用 onClick 方法来实现你的需求,其实 click 几乎是用不到了。因为任何节点点击时都会触发 onClick 回调函数。 url 只需要换个名字保存即可,target一般来说应该是固定的,所以完全不需要给节点数据赋值了。
2012年01月09日 09点01分
10
level 11
1、tId 是用于内部的唯一标识,你可以使用,也可以不使用。从实现方面来说,就是和你定义的id没有任何关系。
2、getNodeByTId 方法需要你知道tId,但是getNodeByParam方法可以根据你自己定义的任何节点数据属性 (string、number类型)进行搜索,你可以去看看“根据参数查找节点”的Demo,这里不让输入 url,所以我就没办法给你发链接了。
3、v3.0 中有 getZTreeObj 方法,你可以根据 zTree 容器的 id 随时获取该树的zTreeObj 通过这个对象你可以使用 zTree 提供出来的很多方法,这个请看 API 文档中的 “zTree 方法详解” 其中勾选操作就是 zTreeObj.checkNode方法,这个可以看 “复选框功能演示”里面有很简单的Demo
4、如果能够利用 onClick 方法来实现你的需求,其实 click 几乎是用不到了。因为任何节点点击时都会触发 onClick 回调函数。 url 只需要换个名字保存即可,target一般来说应该是固定的,所以完全不需要给节点数据赋值了。
2012年01月09日 09点01分
11
level 4
嗯嗯 谢谢你的回答 我想问问treeObj.checkNode(treeObj.getNodeByParam("id", m.id, m.pid), true, false);这样为什么不能勾选对应的节点呢?我分析是
getNodeByParam 这个问题.
getNodeByParam的参数可以帮我详解一下么?
2012年01月12日 05点01分
14
level 4
getNodeByParam的第3个参数是节点对象,看来无法实现...我怎么能在页面调用这个方法?
2012年01月12日 05点01分
15
level 11
你好,请注意,第三个参数是表明需要在哪个父节点下进行查找。 API中说明如下:
parentNode---JSON
可以指定在某个父节点下的子节点中搜索
忽略此参数,表示在全部节点中搜索
所以请记住,这个一定要是 zTree 中的节点数据,而不是节点id;另外如果你是查找id的话,因为都是唯一的,所以完全可以不用传递第三个参数。
2012年01月13日 01点01分
16
level 4
嗯嗯 好的 谢谢你的回答!是我自己没有仔细看!现在问题解决了!谢谢!
2012年01月13日 02点01分
17