当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 选择TreeView控件的树状数据节点的JS方法(jquery)

Javascript
11款基于Javascript的文件管理器
5款Javascript颜色选择器
JavaScript 对话框和状态栏使用说明
状态栏 时间显示效果 数字钟
在图片上单击获取图片原始大小
禁止在图片上使用右键
javascript 操作Word和Excel的实现代码
几个javascript操作word的参考代码
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
解决表单中第一个非隐藏的元素获得焦点的一个方案
解决jquery .ajax 在IE下卡死问题的解决方法
javascript 实现划词标记划词搜索功能
用Greasemonkey 脚本收藏网站会员信息到本地
javascript 关于# 和 void的区别分析
DIV+CSS+JS 变灰弹出层
Ajax+Json 级联菜单实现代码
javascript 读取XML数据,在页面中展现、编辑、保存的实现
html 锁定页面(js遮罩层弹出div效果)
基于jQuery的日期选择控件
javascript获得CheckBoxList选中的数量

Javascript 中的 选择TreeView控件的树状数据节点的JS方法(jquery)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 295 ::
收藏到网摘: n/a

前些日子为了提高人性化选择树状权限的功能,根据树的结构用jquery写了个方法。 方法要达到的效果是:“ 改变一节点的选中状态时,其后代节点选中状态也要跟随当前节点的选中状态改变而改变。当前节点选中时,其所有祖先节点也要跟着选中;如取消时,要根据其同级节点是否有选中时,来决定其祖先节点的选中状态。”
说明:树是用vs的TreeView控件生成的。
如图:

代码如下:
复制代码 代码如下:

jQuery(function(){
jQuery(":checkbox").click(function(){
var objNode = this;
var objNodeId=objNode.id;
var divObjId= objNodeId.substring(0,objNodeId.indexOf("CheckBox")) < /span>+ "Nodes";
jQuery('#'+divObjId+' input[type="checkbox"]').each(function(){
this.checked=objNode.checked;
}
);
jQuery("#"+objNodeId).parents("div[id]").each(function(){
var divId=this.id;
var cbId=divId.substring(0,divId.indexOf("Nodes")) + "CheckBox";
var cbCount=jQuery('#'+divId+' input:checked');
if(objNode.checked||cbCount.length==0)
{
var sId=document.getElementById(cbId);
if (sId)
{
sId.checked=objNode.checked;
}
}
}
);
});
});