js擷取Treeview選中的節點(C#選中CheckBox項)

來源:互聯網
上載者:User

方法網上有很多,試了一下都有瑕疵。最後找了個看上去代碼比較少,比較順眼的,測試結果報錯說有幾個函數不存在,於是設定斷點調試,各個屬性尋找有用的欄位,終於找到。
現整理如下
首先,要想在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);
}

現在,運行起來,看看是不是你需要的結果,如果不對,別忘了設斷點調試哦。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.