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