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值。