javascript实现TreeView 无刷新展开的实例代码


Posted in Javascript onJuly 13, 2013
function public_GetParentByTagName(element, tagName)  
{ 
    var parent = element.parentNode; 
    var upperTagName = tagName.toUpperCase(); 
    //如果这个元素还不是想要的tag就继续上溯 
    while (parent && (parent.tagName.toUpperCase() != upperTagName))  
    { 
        parent = parent.parentNode ? parent.parentNode : parent.parentElement; 
    } 
    return parent; 
} 
//设置节点的父节点Cheched——该节点可访问,则他的父节点也必能访问 
function setParentChecked(objNode) 
{  
    var objParentDiv = public_GetParentByTagName(objNode,"div"); 
    if(objParentDiv==null || objParentDiv == "undefined") 
    { 
        return; 
    } 
    var objID = objParentDiv.getAttribute("ID"); 
    objID = objID.substring(0,objID.indexOf("Nodes")); 
    objID = objID+"CheckBox"; 
    var objParentCheckBox = document.getElementById(objID); 
    if(objParentCheckBox==null || objParentCheckBox == "undefined") 
    { 
        return; 
    }  
    if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox") 
    return;  
    objParentCheckBox.checked = true; 
    setParentChecked(objParentCheckBox); 
} 
//设置节点的子节点uncheched——该节点不可访问,则他的子节点也不能访问 
function setChildUnChecked(divID) 
{  
    var objchild = divID.children; 
    var count = objchild.length;  
    for(var i=0;i<objchild.length;i++) 
    { 
        var tempObj = objchild[i]; 
        if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox") 
        { 
            tempObj.checked = false; 
        } 
        setChildUnChecked(tempObj);  
    } 
} 
//设置节点的子节点cheched——该节点可以访问,则他的子节点也都能访问 
function setChildChecked(divID) 
{  
    var objchild = divID.children; 
    var count = objchild.length;  
    for(var i=0;i<objchild.length;i++) 
    { 
        var tempObj = objchild[i]; 
        if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox") 
        { 
            tempObj.checked = true; 
        } 
        setChildChecked(tempObj);  
    } 
} 
//触发事件 
function CheckEvent() 
{ 
    var objNode = event.srcElement;  
    if(objNode.tagName!="INPUT" || objNode.type!="checkbox") 
    return; 
    if(objNode.checked==true) 
    { 
        setParentChecked(objNode); 
        var objID = objNode.getAttribute("ID"); 
        var objID = objID.substring(0,objID.indexOf("CheckBox"));  
        var objParentDiv = document.getElementById(objID+"Nodes"); 
        if(objParentDiv==null || objParentDiv == "undefined") 
        { 
            return; 
        }  
        setChildChecked(objParentDiv); 
    } 
    else 
    { 
        var objID = objNode.getAttribute("ID"); 
        var objID = objID.substring(0,objID.indexOf("CheckBox"));  
        var objParentDiv = document.getElementById(objID+"Nodes"); 
        if(objParentDiv==null || objParentDiv == "undefined") 
        { 
            return; 
        }  
        setChildUnChecked(objParentDiv); 
    } 
}

服务端控件
this.tvPrivilege.Attributes.Add("OnClick", "CheckEvent()");  
Javascript 相关文章推荐
用Javascript读取中文COOKIE的解决办法
Feb 15 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
Oct 01 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
javascript dom 基本操作小结
Apr 11 Javascript
在Node.js中实现文件复制的方法和实例
Jun 05 Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
JS实现拖拽的方法分析
Dec 20 Javascript
jQuery实现鼠标跟随效果
Feb 20 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
Mar 06 Javascript
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
Dec 30 Javascript
Jquery封装tab自动切换效果的具体实现
Jul 13 #Javascript
JS图片根据鼠标滚动延时加载的实例代码
Jul 13 #Javascript
js confirm()方法的使用方法实例
Jul 13 #Javascript
js获取GridView中行数据的两种方法 分享
Jul 13 #Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
Jul 13 #Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 #Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 #Javascript
You might like
php中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
php创建多级目录的方法
2015/03/24 PHP
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
javascript读写json示例
2014/04/11 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
用python写asp详细讲解
2013/12/16 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
Python subprocess库的使用详解
2018/10/26 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
python设置随机种子实例讲解
2019/09/12 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
Python安装OpenCV的示例代码
2020/03/05 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
简述python Scrapy框架
2020/08/17 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
毕业生个人的求职信范文
2013/12/03 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
村安全生产责任书
2014/08/25 职场文书
农行心得体会
2014/09/02 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书