关于dtree获取节点ID的问题

jncharles 2010-06-04 09:48:07
我的页面是用的frameset框架,左边是dtree的树菜单,右边是一个页面。现在有个问题是我如何可以获取我点击的那个节点的ID,并将其作了为参数传递给右边的页面,思路是这样的,就是在点击左边的菜单时我把ID存到session中然后在右边的页面中调用。但是现在获取左边 的那个ID成了问题了
...全文
1022 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouxi19880701 2011-05-25
  • 打赏
  • 举报
回复
我还是没大看懂,能不能把具体的代码贴出来,共享一下啊,谢谢!
百球恩 2010-06-04
  • 打赏
  • 举报
回复
是用top.页面名.函数名
少写了一个页面名
百球恩 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jncharles 的回复:]

楼上怎么获取我点击的那个节点的ID呢,另外js可以跨页面传递参数吗,这是两个不同的页面
[/Quote]
frame之间当然可以用js传值啊
用top.函数名
获取节点id 你点击节点触发节点上的js
d.add(1,1,"a","javascript:保存id的函数(1)")
这样子不就行了
这个保存id的函数就将1保存在hidden上了

longtenggdf 2010-06-04
  • 打赏
  • 举报
回复
好久没用过了,都忘了。树节点可以添加触发事件,将ID作为这个触发function 的参数即可。
jncharles 2010-06-04
  • 打赏
  • 举报
回复
楼上怎么获取我点击的那个节点的ID呢,另外js可以跨页面传递参数吗,这是两个不同的页面
百球恩 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 jncharles 的回复:]
我的页面是用的frameset框架,左边是dtree的树菜单,右边是一个页面。现在有个问题是我如何可以获取我点击的那个节点的ID,并将其作了为参数传递给右边的页面,思路是这样的,就是在点击左边的菜单时我把ID存到session中然后在右边的页面中调用。但是现在获取左边 的那个ID成了问题了
[/Quote]

为什么要存到session里呢?
用js传过去好了,获取id也很简单啊.
dtree后面的一个参数是写javascript的,在这个里面写
用top.直接传过去好了
建议你把树写成活的,就是遍历数据库生成树,而不是写死的
将来你也要对树进行增删该查,那时还要通过js获取节点id
izard999 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 jncharles 的回复:]
我的页面是用的frameset框架,左边是dtree的树菜单,右边是一个页面。现在有个问题是我如何可以获取我点击的那个节点的ID,并将其作了为参数传递给右边的页面,思路是这样的,就是在点击左边的菜单时我把ID存到session中然后在右边的页面中调用。但是现在获取左边 的那个ID成了问题了
[/Quote]
获取有何问题?
zhanlang9075 2010-06-04
  • 打赏
  • 举报
回复
帮顶一下,你的解题思路是正确的,就没有解决不了的问题,加油吧,LZ,你可以的。
道光2008 2010-06-04
  • 打赏
  • 举报
回复
自己改下dtree的源码:
在节点添加的地方
dTree.prototype.node中

<a href=\"javascript: shownode('" + node.id + "'\" >";
然后在引用页面中实现shownode方法。

iframe 中可以通过contentWindow传递值:
document.getElementById("subiframe").contentWindow.document.getElementById("test").value
= document.getElementById("test").value;
jncharles 2010-06-04
  • 打赏
  • 举报
回复
javascript:保存id的函数(1)您的意思是打开页面也直接写到函数里面是吧?这样获取节点ID的同时也打开了页面对吧?
百球恩 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jncharles 的回复:]

引用 6 楼 zhuangyangoal 的回复:
引用 4 楼 jncharles 的回复:

楼上怎么获取我点击的那个节点的ID呢,另外js可以跨页面传递参数吗,这是两个不同的页面

frame之间当然可以用js传值啊
用top.函数名
获取节点id 你点击节点触发节点上的js
d.add(1,1,"a","javascript:保存id的函数(1)")
这样子不就行了
……
[/Quote]


你可以用js打开地址
很多种方式
页面name.location的方式也可以吧
jncharles 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhuangyangoal 的回复:]
引用 4 楼 jncharles 的回复:

楼上怎么获取我点击的那个节点的ID呢,另外js可以跨页面传递参数吗,这是两个不同的页面

frame之间当然可以用js传值啊
用top.函数名
获取节点id 你点击节点触发节点上的js
d.add(1,1,"a","javascript:保存id的函数(1)")
这样子不就行了
这个保存id的函数就将1保存在hidden上了
[/Quote]
这样是可以我也想过了,javascript:保存id的函数(1)这样的话,这是add的第三个参数应该是要传递一个打开的页面的地址的,如果像你这样写了,我那个页面又怎么打开呢?
一、插件介绍: 说明: muchlin基于CSDN网友wallimn修改版修改。 源文件:dtree-ck.source.js 15kb 压缩版:dtree-ck.compress.js 11kb 改动: 1、修改可单独设置节点有无checkbox。 2、调整节点open参数至target参数后面。 3、添加css文件自动加载方法,使用时只需在head区引用dtree-ck.compress.js。 4、添加获取选中节点、名称、值、数量的方法 getSelectedNodes(): getSelectedNodes()['nodes']:获取选中节点dTree节点对象数组 getSelectedNodes()['value']:获取选中节点id,即选中checkbox的value,数组 getSelectedNodes()['name']:获取选中节点name,数组 getSelectedNodes()['count']:获取选中节点个数,数字 5、加addCbx方法,专用于添加checkbox节点 二、相关方法及参数说明: 1、实例化dTree对象方法参数说明 new dTree(objName, rootDir, imgDir); objName:dTree实例对象名称, rootDir:dTree根目录, imgDir:图标目录,相对于根目录 2、添加普通节点方法完整参数说明 add(id, pid, name, url, title, target, open, icon, iconOpen) id: 节点id(必须唯一,不能重复), pid: 父级节点id, name: 节点名称 , url: 连接地址, title: 工具提示文本, target: 打开方式/窗口, open: 打开(是:true/否:false), icon: 节点图标 , iconOpen: 节点打开时图标 例子:demo-menu.html 3、添加checkbox节点方法完整参数说明 addCbx(id, pid, name, open, checked, icon, iconOpen) id: 节点id(必须唯一,不能重复), pid: 父级节点id, name: 节点名称 , open: 打开(是:true/否:false), checked: 选中(是:true/否:false/无:'none'), icon: 节点图标 , iconOpen: 节点打开时图标 例子:demo-ck.html

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧