js获取Treeview选中的节点(C#选中CheckBox项)
方法策略繁多,然而每次尝试总会发现些许瑕疵。偶然间发现了一种看上去简洁流畅的方法,但运行之时报错提示有些函数并未存在。为了解决这个问题,我设置了断点进行调试,逐个属性地去那些有用的字段,终于找到了解决方案。特此整理分享如下,供需要的朋友们参考。
在JavaScript中获取带有复选框的treeview节点需要我们进行特定的属性设置。这些设置是在后台代码中完成的。首先创建一个新的TreeNode对象,并对其相关属性进行设置:文本、值、导航URL等。最重要的是启用复选框并设置其为展开或折叠状态以及选中状态。对于带Input控件的节点获取,可以使用document对象来获取页面元素并进行处理。具体代码实现如下:
创建一个TreeNode对象并设置其属性:
```javascript
TreeNode newNode = new TreeNode();
newNode.Text = “showText”;
newNode.Value = id;
newNode.NavigateUrl = id; // 用于在JavaScript中获取需要的value或text值
newNode.ShowCheckBox = true; // 显示复选框
newNode.Expanded = false; // 节点折叠
newNode.Checked = true; // 复选框选中
```
接着获取Treeview带Input控件的节点:
```javascript
var tree = document.getElementById("treenameOrid").getElementsByTagName("input");
``` 这里的设置是复选框,所以tree变量所包含的即是带有复选框的项。它和以下的获取方式有所不同:
```javascript
var treeitem = document.getElementById("treenameorid");
``` 这个方法不能直接遍历获取文本和值。接下来我们获取Treeview中Checkbox选中的节点,这通常作为一个判断条件来处理后续逻辑。完整的JavaScript代码如下:
```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);
}
``` 运行这段代码后,你可以看到是否得到了你想要的结果。如果没有,别忘了使用断点调试来寻找问题所在。这里提供的方法或许能帮你解决一些难题,但具体情况还需根据实际环境和需求进行调整和优化。记得在使用这些方法时,要确保你的环境已经正确设置了相关的属性和元素。希望这些分享能对你有所帮助!
编程语言
- js获取Treeview选中的节点(C#选中CheckBox项)
- PHP将页面中点击数量高的链接进行高亮显示的方
- JSP+jquery使用ajax方式调用json的实现方法
- JS之if语句对接事件动作逻辑(详解)
- js学习总结之dom2级事件基础知识详解
- Yii操作数据库的3种方法
- jquery插件方式实现table查询功能的简单实例
- VS2017 Cordova Ionic2 移动开发环境搭建教程
- Vue表单demo v-model双向绑定问题
- jQuery实现简单复制json对象和json对象集合操作示例
- jQuery多条件筛选如何实现
- 基于webpack-hot-middleware热加载相关错误的解决方法
- 防止网站被采集的理论分析以及十条方法对策第
- AngularJS中$http使用的简单介绍
- 详解AngularJS 过滤器的使用
- PHP用星号隐藏部份用户名、身份证、IP、手机号等