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 相关文章推荐
利用js实现选项卡的特别效果的实例
Mar 03 Javascript
jQuery之折叠面板的深入解析
Jun 19 Javascript
javascript ready和load事件的区别示例介绍
Aug 30 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
Jan 26 Javascript
基于jQuery实现下拉框
Nov 24 Javascript
JavaScript计算两个日期时间段内日期的方法
Mar 16 Javascript
js简单实现点击左右运动的方法
Apr 10 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
浅谈使用React.setState需要注意的三点
Dec 18 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
Jul 22 Javascript
详解 javascript对象创建模式
Oct 30 Javascript
ECharts transform数据转换和dataZoom在项目中使用
Dec 24 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作的文本留言本的例子(三)
2006/10/09 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
php输出图像的方法实例分析
2017/02/16 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
PHP实现文件上传与下载
2020/08/28 PHP
表格 隔行换色升级版
2009/11/07 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
javascript实现简易计算器
2017/02/01 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
用python读写excel的方法
2014/11/18 Python
python合并同类型excel表格的方法
2018/04/01 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
医学生毕业自我鉴定
2014/03/26 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
先进个人总结范文
2015/02/15 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
初中语文教师研修日志
2015/11/13 职场文书
php引用传递
2021/04/01 PHP
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python