js获取Treeview选中的节点(C#选中CheckBox项)

所属分类: 网络编程 / ASP.NET 阅读数: 571
收藏 0 赞 0 分享
方法网上有很多,试了一下都有瑕疵。最后找了个看上去代码比较少,比较顺眼的,测试结果报错说有几个函数不存在,于是设置断点调试,各个属性查找有用的字段,终于找到。
现整理如下
首先,要想在javascript中获取treeview中带checkbox的节点,需要设置treeview节点的某些属性,我是在后台代码中添加的。
复制代码 代码如下:

TreeNode newNode = new TreeNode();
newNode.Text = “showText”;
newNode.Value =id;
newNode.NavigateUrl = id; // 可用来在javascript中获取需要的value或text值
newNode.ShowCheckBox = true; //显示checkbox
newNode.Expanded = false; //节点折叠
newNode.Checked = true; //checkbox选中

获取Treeview带Input控件的节点:var tree = document.getElementById("treenameOrid").getElementsByTagName("input");
上边设置的是checkbox,所以tree选出的就是带checkbox的项。它不同于var treeitem=document.getElementById("treenameorid");不可遍历直接获取text和value;
获取Treeview中Checkbox选中的节点,通常作为一个判断条件: if (tree[i].type == "checkbox" && tree[i].checked) {内容}
获取各个节点需要的值:var s = tree[i].nextSibling.pathname; 发现这个费了我不少脑细胞。要用此属性获取值,必须设置属性newNode.NavigateUrl = 需要的值;
好啦,现在给出一个javascript的完整代码
复制代码 代码如下:

var idlist;
function GeSelectedNode() {
var getAllNodes = "";
idlist = new Array(); //实例化数组
var tree = document.getElementById("treenameOrid").getElementsByTagName("input");
for (var i = 0; i < tree.length; i++) {
if (tree[i].type == "checkbox" && tree[i].checked) {
var s = tree[i].nextSibling.pathname; //要用此属性获取值,必须设置属性newNode.NavigateUrl = 需要的值;
getAllNodes += s + '/';
idlist.push(s); //将值添加入数组最后一项;
}
}
alert(tree.length);
alert(getAllNodes);
}

现在,运行起来,看看是不是你需要的结果,如果不对,别忘了设断点调试哦。
更多精彩内容其他人还在看

ASP.NET 水晶报表打印功能实现代码

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印
收藏 0 赞 0 分享

ASP.Net 图片存入数据库的实现代码

在很多时候,我们有这样的需求:把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
收藏 0 赞 0 分享

让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)

Microsoft Expression Blend 2 制作动画个人感觉倒像3DMAX 可以自动捕捉关键帧
收藏 0 赞 0 分享

asp.net Reporting Service在Web Application中的应用

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。
收藏 0 赞 0 分享

C# 文件上传 默认最大为4M的解决方法

.net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢
收藏 0 赞 0 分享

asp.net 购物车实现详细代码

asp.net 购物车实现详细代码
收藏 0 赞 0 分享

asp.net repeater实现批量删除时注册多选框id到客户端

repeater批量删除时注册多选框id到客户端的实现代码
收藏 0 赞 0 分享

asp.net aspnetpager分页统计时与实际不符的解决办法

最近分页方面根据实际需要修改了一些函数
收藏 0 赞 0 分享

iis 服务器应用程序不可用的解决方法

访问页面时提示 服务器应用程序不可用,大家可以按照下面的方法重新注册下,应该能好点
收藏 0 赞 0 分享

asp.net button 绑定多个参数

asp.net button 绑定多个参数的代码
收藏 0 赞 0 分享
查看更多