js獲取Treeview選中的節(jié)點(diǎn)(C#選中CheckBox項)
更新時間:2012年12月31日 16:26:09 作者:
方法網(wǎng)上有很多,試了一下都有瑕疵,于是設(shè)置斷點(diǎn)調(diào)試,各個屬性查找有用的字段,終于找到,接下來與大家分享解決方法,需要了解的朋友可以參考下
方法網(wǎng)上有很多,試了一下都有瑕疵。最后找了個看上去代碼比較少,比較順眼的,測試結(jié)果報錯說有幾個函數(shù)不存在,于是設(shè)置斷點(diǎn)調(diào)試,各個屬性查找有用的字段,終于找到。
現(xiàn)整理如下:
首先,要想在javascript中獲取treeview中帶checkbox的節(jié)點(diǎn),需要設(shè)置treeview節(jié)點(diǎn)的某些屬性,我是在后臺代碼中添加的。
TreeNode newNode = new TreeNode();
newNode.Text = “showText”;
newNode.Value =id;
newNode.NavigateUrl = id; // 可用來在javascript中獲取需要的value或text值
newNode.ShowCheckBox = true; //顯示checkbox
newNode.Expanded = false; //節(jié)點(diǎn)折疊
newNode.Checked = true; //checkbox選中
獲取Treeview帶Input控件的節(jié)點(diǎn):var tree = document.getElementById("treenameOrid").getElementsByTagName("input");
上邊設(shè)置的是checkbox,所以tree選出的就是帶checkbox的項。它不同于var treeitem=document.getElementById("treenameorid");不可遍歷直接獲取text和value;
獲取Treeview中Checkbox選中的節(jié)點(diǎn),通常作為一個判斷條件: if (tree[i].type == "checkbox" && tree[i].checked) {內(nèi)容}
獲取各個節(jié)點(diǎn)需要的值:var s = tree[i].nextSibling.pathname; 發(fā)現(xiàn)這個費(fèi)了我不少腦細(xì)胞。要用此屬性獲取值,必須設(shè)置屬性newNode.NavigateUrl = 需要的值;
好啦,現(xiàn)在給出一個javascript的完整代碼:
var idlist;
function GeSelectedNode() {
var getAllNodes = "";
idlist = new Array(); //實例化數(shù)組
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; //要用此屬性獲取值,必須設(shè)置屬性newNode.NavigateUrl = 需要的值;
getAllNodes += s + '/';
idlist.push(s); //將值添加入數(shù)組最后一項;
}
}
alert(tree.length);
alert(getAllNodes);
}
現(xiàn)在,運(yùn)行起來,看看是不是你需要的結(jié)果,如果不對,別忘了設(shè)斷點(diǎn)調(diào)試哦。
現(xiàn)整理如下:
首先,要想在javascript中獲取treeview中帶checkbox的節(jié)點(diǎn),需要設(shè)置treeview節(jié)點(diǎn)的某些屬性,我是在后臺代碼中添加的。
復(fù)制代碼 代碼如下:
TreeNode newNode = new TreeNode();
newNode.Text = “showText”;
newNode.Value =id;
newNode.NavigateUrl = id; // 可用來在javascript中獲取需要的value或text值
newNode.ShowCheckBox = true; //顯示checkbox
newNode.Expanded = false; //節(jié)點(diǎn)折疊
newNode.Checked = true; //checkbox選中
獲取Treeview帶Input控件的節(jié)點(diǎn):var tree = document.getElementById("treenameOrid").getElementsByTagName("input");
上邊設(shè)置的是checkbox,所以tree選出的就是帶checkbox的項。它不同于var treeitem=document.getElementById("treenameorid");不可遍歷直接獲取text和value;
獲取Treeview中Checkbox選中的節(jié)點(diǎn),通常作為一個判斷條件: if (tree[i].type == "checkbox" && tree[i].checked) {內(nèi)容}
獲取各個節(jié)點(diǎn)需要的值:var s = tree[i].nextSibling.pathname; 發(fā)現(xiàn)這個費(fèi)了我不少腦細(xì)胞。要用此屬性獲取值,必須設(shè)置屬性newNode.NavigateUrl = 需要的值;
好啦,現(xiàn)在給出一個javascript的完整代碼:
復(fù)制代碼 代碼如下:
var idlist;
function GeSelectedNode() {
var getAllNodes = "";
idlist = new Array(); //實例化數(shù)組
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; //要用此屬性獲取值,必須設(shè)置屬性newNode.NavigateUrl = 需要的值;
getAllNodes += s + '/';
idlist.push(s); //將值添加入數(shù)組最后一項;
}
}
alert(tree.length);
alert(getAllNodes);
}
現(xiàn)在,運(yùn)行起來,看看是不是你需要的結(jié)果,如果不對,別忘了設(shè)斷點(diǎn)調(diào)試哦。
您可能感興趣的文章:
- C# TreeView無限目錄樹實現(xiàn)方法
- C#自定義DataGridViewColumn顯示TreeView
- C#實現(xiàn)TreeView節(jié)點(diǎn)拖拽的方法
- C#搜索TreeView子節(jié)點(diǎn),保留父節(jié)點(diǎn)的方法
- C#中TreeView實現(xiàn)適合兩級節(jié)點(diǎn)的選中節(jié)點(diǎn)方法
- C#中TreeView節(jié)點(diǎn)的自定義繪制方法
- C#實現(xiàn)treeview綁定的方法
- c#的treeview綁定和獲取值的方法
- 操作xml,將xml數(shù)據(jù)顯示到treeview的C#代碼
- c# TreeView添加右鍵快鍵菜單有兩種方法
- c#用Treeview實現(xiàn)FolderBrowerDialog 和動態(tài)獲取系統(tǒng)圖標(biāo)(運(yùn)用了Win32 dll類庫)
- c# WPF中的TreeView使用詳解
相關(guān)文章
asp.net靜態(tài)方法彈出對話框?qū)崿F(xiàn)思路
為菜鳥所準(zhǔn)備……其實就是彈出JavaScript小窗口,總得來說就是定義的一個DIV,感興趣的朋友可以了解下,或許對你學(xué)習(xí)asp.net有所幫助2013-02-02Repeater事件OnItemCommand取得行內(nèi)控件的方法
這篇文章主要介紹了Repeater事件OnItemCommand取得行內(nèi)控件的方法,有需要的朋友可以參考一下2014-01-01MVC使用Log4Net進(jìn)行錯誤日志記錄學(xué)習(xí)筆記4
這篇文章主要為大家詳細(xì)介紹了MVC使用Log4Net進(jìn)行錯誤日志記錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09.NET?SkiaSharp?生成二維碼驗證碼及指定區(qū)域截取方法實現(xiàn)
這篇文章主要為大家介紹了.NET?SkiaSharp?生成二維碼驗證碼及指定區(qū)域截取方法實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10點(diǎn)擊提交按鈕后DropDownList的值變?yōu)槟J(rèn)值實現(xiàn)分析
在點(diǎn)擊提交按鈕后,頁面上所有的綁定到數(shù)據(jù)庫的控件值都恢復(fù)到默認(rèn)值,下面與大家分享下DropDownList的值變?yōu)槟J(rèn)值2013-05-05一步步打造簡單的MVC電商網(wǎng)站BooksStore(1)
這篇文章主要和大家一起一步步打造一個簡單的MVC電商網(wǎng)站,MVC電商網(wǎng)站BooksStore第一篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04C# 生成驗證碼取隨機(jī)數(shù)字加字母(改進(jìn)版)
生成驗證碼取4位數(shù)字沒有問題,結(jié)果加上字母效率非常低本人改進(jìn)了一下,感興趣的朋友可以參考下哈2013-03-03asp.net中的check與uncheck關(guān)鍵字用法解析
這篇文章主要介紹了asp.net中的check與uncheck關(guān)鍵字用法,以實例形式較為詳細(xì)的分析了check與uncheck關(guān)鍵字的各種常見用法與使用時的注意事項,非常具有實用價值,需要的朋友可以參考下2014-10-10