
我大概做个猜想:你是想点击dtree的某个节点的时候,该节点名能被修改,是这样吗?
在dtree里这个功能似乎是不能实现的,因为点击节点的时候该节点会d出它的子节点;如果是叶子节点也没有此功能。
这里有两个方案:
1.在点击该节点的时候,用js新建一个层看起来很像重命名的样子,做的新层将被点击的节点覆盖。
2.在dtree页面新建一个<input type="text">,当点击某节点的时候,用js获取该节点的值,然后将值传到text中进行编辑。
假设父窗体为f.jsp创建dtree你应该知道吧,下面add方法第四个参数就是指当点击该节点跳转到的页面,也就是说点击了这个节点的话,它会跳到f.jsp,同时会吧名称传过去,通过getparameter就可以在文本框中获得了
tree.add(当前节点id,父节点id,当前节点名称,'f.jsp?name=当前节点名称')
第一种方法,在你的代码基础上:1、假设左边tree的html结构:
<ul id="tree">
<li><a href="javascript:void(0)" link="format.html">课表查询</a></li>
<li><a href="javascript:void(0)" link="1.html">信息修改</a></li>
</ul>
//注意以上a元素的link属性代表中间将要显示的页面的名称,根据需要自行修改
2、引入jquery库,在head之间添加如下代码:
$(function(){
var $tree_a = $("#tree").find("a")//获取tree中的a元素集合
var $main = $("#main")//获取中间部分元素
$tree_a.on("click", function(){
$main.empty()//初始化
var $frame =$("<iframe></iframe>")//定义框架对象
var $this = $(this)//当前被点击的tree的a
$frame.attr({//设置中间部分框架的属性
"src": $this.attr("link"),//框架引入的页面地址
"name": "main_frame",//框架名称
"width": $main.width() || "100%",//框架宽度
"height": $main.height() || "100%",//框架高度
"frameborder": "0",//框架边框
"scrolling": "auto"//框架滚动条设置
})
$frame.appendTo($main)//将框架插入到中间部分
})
})
第二种方法,改变你的代码结构:
1、修改html结构,将中间部分更改为iframe
将
<div id="main" style="width:82%background:yellowheight:500pxfloat:left">中间</div>
</div>
这段代码修改为
<ifame name="main" src="" id="main" frameborder="0" width="82%" height="500px" scrolling="auto"></iframe>
2、修改左侧tree的a元素
<a target="main" href="...">课表查询</a>
......
有问题请留言
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)