asp.net 实现treeview 选中父节点其子节点也选种中 选中子节点其父节点与根节点也被选中
1、在 Page_Load(object sender, EventArgs e) 里面加入: TreeView1.Attributes.Add("onclick", "CheckEvent(event)");//TreeView1是树控件的名称。
javascript 放到 <head></head> 之间 <script type="text/javascript">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
function CheckEvent(evt) {
evt = window.event || evt;
var objNode = evt.srcElement || evt.target;
if (objNode.tagName == "INPUT" && objNode.type == "checkbox") {
var objParentDiv = objNode.id.replace("CheckBox", "Nodes");
if (objNode.checked == true) {
setChildCheckState(objParentDiv, true);
setParentCheckeState(objNode, true);
}
else {
setChildCheckState(objParentDiv, false);
if (!HasOtherChecked(objNode)) {
setParentCheckeState(objNode, false);
}
}
}
}
//判断是否有并行的其他节点被选中
function HasOtherChecked(objNode) {
var objParentDiv = WebForm_GetParentByTagName(objNode, "div");
var chks = objParentDiv.getElementsByTagName("INPUT");
for (var i = 0; i < chks.length; i++) {
if (chks[i].checked && chks[i].id != objNode.id) {
return true;
}
}
return false;
}
//设置父节点
function setParentCheckeState(objNode, chkstate) {
try {
var objParentDiv = WebForm_GetParentByTagName(objNode, "div");
if (objParentDiv == null || objParentDiv == "undefined ") {
return;
}
else {
var objParentChkId = objParentDiv.id.replace("Nodes", "CheckBox");
var objParentCheckBox = document.getElementById(objParentChkId);
if (objParentCheckBox) {
objParentCheckBox.checked = chkstate;
setParentCheckeState(objParentDiv, chkstate);
}
}
}
catch (e) { }
}
//设置子节点
function setChildCheckState(nodeid, chkstate) {
var node = document.getElementById(nodeid);
if (node) {
var chks = node.getElementsByTagName("INPUT");
for (var i = 0; i < chks.length; i++) {
chks[i].checked = chkstate;
}
}
}
</script>
</head>
2、在Page_Load中进行注册事件
protected void Page_Load(object sender, EventArgs e) {
TreeView1.Attributes.Add("onclick", "CheckEvent(event)");
}
asp.net 实现treeview 选中父节点其子节点也选种中 选中子节点其父节点与根节点也被选中的更多相关文章
- js input复选框选中父级同时子级也选中
js实现复选框选中父级元素子级元素也选中,没有子级元素选中父级也不选中的效果 HTML <tr> <td> <label> <input name=" ...
- Corporative Network (有n个节点,然后执行I u,v(把u的父节点设为v)和E u(询问u到根节点的距离))并查集
A very big corporation is developing its corporative network. In the beginning each of the N enterpr ...
- C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)
最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...
- 解析某些特殊格式XML文件时,获取不到根节点问题
还是在语音识别这块.在读取本地的SRGS的XML后,无法获取到根节点<grammar>. 下面是SRGS.XML文件(只给出了根节点) <?xml version="1.0 ...
- 我眼中的Linux设备树(五 根节点)
五 根节点一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是"/",至少需要包含model和compatible两个属性.model属性我们 ...
- Linux设备树(五 根节点)
五 根节点 一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是“/”,至少需要包含model和compatible两个属性.model属性我们在属性那节已经说过 ...
- PyQt(Python+Qt)学习随笔:invisibleRootItem方法访问QTreeWidget树型部件的隐形根节点
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 我们知道在数据结构上来说,任何树都是有根节点的,但我们在QTreeWidget对象中并没有看到界面上 ...
- treeview插件使用:根据子节点选中父节点
鄙人公司没有专门的前端,所以项目开发中都是前后端一起抡.最近用bootstrap用的比较频繁,发现bootstrap除了框架本身的样式组件外,还提供了多种插件供开发者选择.本篇博文讲的就是bootst ...
- javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中;子节点全部没选中,则父节点也会没选中。
<script type="text/javascript"> function public_GetParentByTagName(element, tagName) ...
随机推荐
- 深入探析c# Socket
最近浏览了几篇有关Socket发送消息的文章,发现大家对Socket Send方法理解有所偏差,现将自己在开发过程中对Socket的领悟写出来,以供大家参考. (一)架构 基于TCP协议的Socket ...
- 并不对劲的bzoj1861: [Zjoi2006]Book 书架
传送门-> 这题的正确做法是splay维护这摞书. 但是并不对劲的人选择了暴力(皮这一下很开心). #include<algorithm> #include<cmath> ...
- 部署到Linux并配置Java定时任务
Java项目部署到Linux并配置定时任务 https://blog.csdn.net/u013850277/article/details/53447391 1.在Eclipse中将程序开发好,并进 ...
- [Codeforces Round #461 (Div2)] 题解
[比赛链接] http://codeforces.com/contest/922 [题解] Problem A. Cloning Toys [算法] 当y = 0 , 不可以 当 ...
- OAuth学习总结
1.为什么需要OAuth? 新浪微博就是你的家.偶尔你会想让一些人(第三方应用)去你的家里帮你做一些事,或取点东西.你可以复制一把钥匙(用户名和密码)给他们,但这里有三个问题: 1)别人拿了钥匙后可以 ...
- centos 6.2 pptp 客户端 安装(转载)
转自:http://www.lnmpblog.com/archives/611 centos 6.2 64.bit的桌面版本.配置vpn客户端. 步骤: 1.yum -y install pptp 2 ...
- node.js在读取文件时中文乱码问题
断更很久了........从今天开始会努力的持续更博,积极学习. 言归正传.今天在写node.js的demo时发现一个bug.我在node中读取本地的text文件时,发现英文的内容可以被读取,但是中文 ...
- bzoj 1597: [Usaco2008 Mar]土地购买【斜率优化】
按xy降序排序,把能被完全包含的去掉 然后就得到了x升序y降序的一个数组 然后方程就显然了:f[i]=min(f[j]+y[j+1]x[i]) 斜率优化转移 说起来我还不会斜率优化呢是不是该学一下了 ...
- python爬虫BeautifulSoup库class_
因为class是python的关键字,所以在写过滤的时候,应该是这样写: r = requests.get(web_url, headers=headers) # 向目标url地址发送get请求,返回 ...
- CF1140G Double Tree
题解 首先如果我们要确定出每个\(dis_{i \to i+1 , i \in odd}\) 这个可以用两遍树形\(DP\)来解决 一遍是考虑走子树子树绕过来的 一遍是考虑从走祖先绕过来的 然后就可以 ...