社区
JavaScript
帖子详情
请问如何让XTREE支持CHECKBOX
icebluenet
2005-09-19 11:07:03
请问如何让XTREE支持CHECKBOX,同时能选中上层目录时候下层节点的checkbox默认选中。
...全文
321
6
打赏
收藏
请问如何让XTREE支持CHECKBOX
请问如何让XTREE支持CHECKBOX,同时能选中上层目录时候下层节点的checkbox默认选中。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icebluenet
2005-09-24
打赏
举报
回复
谢谢。
nonegigi
2005-09-22
打赏
举报
回复
并且在tree.js调用时把WebFXTreeItem 改成 WebFXCheckBoxTreeItem 其他的具体的你可以看下注视
xtree的作者 非常仔细地注释
nonegigi
2005-09-22
打赏
举报
回复
在xtree.js的最后添加
function WebFXCheckBoxTreeItem(sText, sAction, bChecked, eParent, sIcon, sOpenIcon) {
this.base = WebFXTreeItem;
this.base(sText, sAction, eParent, sIcon, sOpenIcon);
this._checked = bChecked;
}
WebFXCheckBoxTreeItem.prototype = new WebFXTreeItem;
WebFXCheckBoxTreeItem.prototype.toString = function (nItem, nItemCount) {
var foo = this.parentNode;
var indent = '';
if (nItem + 1 == nItemCount) { this.parentNode._last = true; }
var i = 0;
while (foo.parentNode) {
foo = foo.parentNode;
indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent;
i++;
}
this._level = i;
if (this.childNodes.length) { this.folder = 1; }
else { this.open = false; }
if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) {
if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; }
if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; }
}
else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; }
var label = this.text.replace(/</g, '<').replace(/>/g, '>');
var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this, event)\">";
str += indent;
str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">"
// insert check box
str += "<input type=\"checkbox\"" +
" class=\"tree-check-box\"" +
(this._checked ? " checked=\"checked\"" : "") +
" onclick=\"webFXTreeHandler.all[this.parentNode.id].setChecked(this.checked)\"" +
" />";
// end insert checkbox
str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>";
str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">";
for (var i = 0; i < this.childNodes.length; i++) {
str += this.childNodes[i].toString(i,this.childNodes.length);
}
str += "</div>";
this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon);
this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon);
return str;
}
WebFXCheckBoxTreeItem.prototype.getChecked = function () {
var divEl = document.getElementById(this.id);
var inputEl = divEl.getElementsByTagName("INPUT")[0];
return this._checked = inputEl.checked;
};
WebFXCheckBoxTreeItem.prototype.setChecked = function (bChecked) {
if (bChecked != this.getChecked()) {
var divEl = document.getElementById(this.id);
var inputEl = divEl.getElementsByTagName("INPUT")[0];
this._checked = inputEl.checked = bChecked;
if (typeof this.onchange == "function")
this.onchange();
}
};
icebluenet
2005-09-19
打赏
举报
回复
给个思路也行,能不能不去修改他的源代码。
LCKKING
2005-09-19
打赏
举报
回复
帮你顶下吧,这个问题不是2句话就能说清楚的
icebluenet
2005-09-19
打赏
举报
回复
有没有人能给我发一份阿赖的树型控件
icebluenet@eyou.com
让X
TREE
支持
CHECKBOX
本文介绍如何在 x
tree
.js 中增加复选框功能,通过继承 WebFX
Tree
Item 类并修改相应的方法来实现。此外,还详细展示了如何根据节点的状态动态调整图标和复选框的状态。
带
CheckBox
,RadioButton的网页树控件—EX
Tree
EX
Tree
是一款基于X
Tree
开发的JavaScript树形控件,
支持
面向对象设计,具备独立CSS控制外观等功能。它包括普通树、
CheckBox
树、RadioButton树三种类型,每种类型又有静态和动态两种形式。
带
CheckBox
,RadioButton的网页树控件
EX
Tree
是一款基于X
Tree
开发的JavaScript树形控件,
支持
Ajax技术及DOM1标准,适用于IE5.5+、Opera9、FireFox2等浏览器。具备面向对象设计、独立CSS控制外观、Cookie保存树状态等功能。提供普通树、
CheckBox
树、RadioButton树三种类型,并
支持
静态和动态加载。
JavaScript
87,989
社区成员
224,684
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章