运用dtree组件动态生成带复选框的目录树
2011-07-24 16:42
489 查看
1.给树对象的 config 对象添加一个控制 checkbox 是否显示的属性;
view plainthis.config = {
target : null,
folderLinks : true,
useSelection : true,
useCookies : true,
useLines : true,
useIcons : true,
useStatusText : false,
closeSameLevel : false,
inOrder : false,
check:true //**新加的
}
2.修改节点对象的 toString()方法,添加...input type="checkbox"...代码;在dtree 的dTree.prototype.node = function(node, nodeId)方法的if (this.config.useIcons)最后加上:
view plainif(this.config.check==true){
str+= '<input type="checkbox" id="c'+ this.obj + nodeId + '" onclick="javascript:'+this.obj+'.cc('+nodeId+')"/>';
}
3.写 checkbox 页面元素的 onclick 事件处理函数
view plaindTree.prototype.cc=function(nodeId){
var cs = document.getElementById("c"+this.obj+nodeId).checked;
var n,node = this.aNodes[nodeId];
var len =this.aNodes.length;
for (n=0; n<len; n++) {
if (this.aNodes
.pid == node.id) {
document.getElementById("c"+this.obj+n).checked=cs;
this.cc(n);
}
}
if(cs==false){
var clicknode=node
do{
for(j=0;j<len;j++){
if(this.aNodes[j].pid==clicknode.pid&&document.getElementById("c"+this.obj+j).checked==true){
return;
}
}
if(j==len){
for(k=0;k<len;k++){
if(this.aNodes[k].id==clicknode.pid){
document.getElementById("c"+this.obj+k).checked=false;
clicknode=this.aNodes[k];
break;
}
}
}
}while(clicknode.pid!=-1);
}
if(cs==true){
var pid=node.pid;
var bSearch;
do{
bSearch=false;
for(n=0;n<len;n++){
if(this.aNodes
.id==pid){
document.getElementById("c"+this.obj+n).checked=true;
pid=this.aNodes
.pid;
bSearch= true;
break;
}
}
}while(bSearch==true);
}
}
view plainthis.config = {
target : null,
folderLinks : true,
useSelection : true,
useCookies : true,
useLines : true,
useIcons : true,
useStatusText : false,
closeSameLevel : false,
inOrder : false,
check:true //**新加的
}
2.修改节点对象的 toString()方法,添加...input type="checkbox"...代码;在dtree 的dTree.prototype.node = function(node, nodeId)方法的if (this.config.useIcons)最后加上:
view plainif(this.config.check==true){
str+= '<input type="checkbox" id="c'+ this.obj + nodeId + '" onclick="javascript:'+this.obj+'.cc('+nodeId+')"/>';
}
3.写 checkbox 页面元素的 onclick 事件处理函数
view plaindTree.prototype.cc=function(nodeId){
var cs = document.getElementById("c"+this.obj+nodeId).checked;
var n,node = this.aNodes[nodeId];
var len =this.aNodes.length;
for (n=0; n<len; n++) {
if (this.aNodes
.pid == node.id) {
document.getElementById("c"+this.obj+n).checked=cs;
this.cc(n);
}
}
if(cs==false){
var clicknode=node
do{
for(j=0;j<len;j++){
if(this.aNodes[j].pid==clicknode.pid&&document.getElementById("c"+this.obj+j).checked==true){
return;
}
}
if(j==len){
for(k=0;k<len;k++){
if(this.aNodes[k].id==clicknode.pid){
document.getElementById("c"+this.obj+k).checked=false;
clicknode=this.aNodes[k];
break;
}
}
}
}while(clicknode.pid!=-1);
}
if(cs==true){
var pid=node.pid;
var bSearch;
do{
bSearch=false;
for(n=0;n<len;n++){
if(this.aNodes
.id==pid){
document.getElementById("c"+this.obj+n).checked=true;
pid=this.aNodes
.pid;
bSearch= true;
break;
}
}
}while(bSearch==true);
}
}
相关文章推荐
- 运用dtree组件动态生成带复选框的目录树
- 运用dtree组件动态生成带复选框的目录树
- 运用dtree组件动态生成带复选框的目录树
- 运用dtree组件动态生成目录树
- dtree组件动态生成带复选框的目录树
- 运用dtree组件动态生成目录树
- CSS生成动态目录结构:COOLjsMenuPRO组件
- 组件总结——动态生成树状目录
- 使用ASPOSE.WORD组件,在word文档指定的位置动态生成表格,支持单元格合并及背景填充
- Java获取后台数据,动态生成多行多列复选框
- ASM(三) 利用Method组件动态生成方法的字节码
- 动态生成目录
- 灵活运用__doPostBack函数(比如用于动态生成控件)
- asp.net 生成word 动态的填充表格(Microsoft的自带组件)
- 使用dtree生成的树结构,ajax动态加载子节点后,如何绑定右键菜单?求助
- word自动生成目录并动态更新
- 使用dtree生成的树结构,ajax动态加载子节点后,如何绑定右键菜单续
- WAS下面运用LOG4J在指定目录一生成DEBUG,INFO等日志的解决办法
- 前端页面在@cshtml下动态生成 复选框的方式
- DTree生成漂亮的动态树型菜单