我使用的开发工具是vs2005(c#),在树节点上我已经加了checkbox(ShowCheckBoxes="All")。我想要实现这样的功能:用户可以点击任意一个节点(即checkbox)但是只能点击一个,如果用户在该树上点击第二个节点,就提示用户只能点击一个节点,并使该次的点击不起作用(也就是说该次点的checkbox中没有小对号),我不知道使用javascript怎样解决,望各位给予帮助!谢谢!
酱油男,路过~ 代码如下:
Code<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title></title><script type="text/javascript">window.onload = function(){ var tree = document.getElementById("TreeView1"); var chks = tree.getElementsByTagName("input"); for(var i=0;i<chks.length;i++){ var ck = chks[i]; if(ck && ck.type && ck.type == "checkbox"){ ck.onclick = function(e){ for(var j=0;j<chks.length;j++){ var ck2 = chks[j]; e = e || window.event; if(ck2 && ck2.type && ck2.type == "checkbox"){ if(ck2.checked && ck2!=(e.target || e.srcElement)){ setTimeout(function(){alert("最能有一个CheckBox选中");},100); return false; } } } } } }}</script></head><body> <form id="form1" runat="server"> <div> </div> <asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All"> <Nodes> <asp:TreeNode Text="新建节点" Value="新建节点"> <asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode Text="新建节点" Value="新建节点"> <asp:TreeNode Text="新建节点" Value="新建节点"> <asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode> </asp:TreeNode> </asp:TreeNode> <asp:TreeNode Text="新建节点" Value="新建节点"> <asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> </form></body></html>