ASP.NET js控制treeview中的checkbox实现单选功能

ASP.NET js控制treeview中的checkbox实现单选功能

ASP.NET js控制treeview中的checkbox实现单选功能

function OnTreeNodeChecked() {
           var element = window.event.srcElement;
           if (element.checked) {
               tv = document.getElementById("TreeView1");
               es = tv.getElementsByTagName("input");
               for (var i = 0; i < es.length; i++) {
                   if (es[i].id != element.id) {
                       es[i].checked = false;
                   }
               }
           }
       }

原理很简单, 如果触发事件的checkbox为选中状态时, 取得treeview中的所有inptu元素,判断,当他的类型为checkbox时,把它的checked设为false;

html代码:<asp:TreeView ID="TreeView1" runat="server" ExpandDepth="2" ShowLines="True" 
        OnClick="OnTreeNodeChecked()"  ShowCheckBoxes="All">
    </asp:TreeView>  

后台取值的时候:

TreeNodeCollection tnc = this.TreeView1.CheckedNodes;
        s = 0;
        aa = "";
        foreach (TreeNode node in tnc)
        {
            if (node.Checked)
            {
                aa = node.Value;
                s = node.Depth;
                break;
            }
        }

取得它的当前深度和绑定的value值。