.net 中treeview中的checkbox 實現單選功能。
並在後臺服務器端取值。
<script type="text/javascript">
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;
}
}
}
}
</script>
原理很簡單, 如果觸發事件的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值。