ASP.NET 2.0 TreeView中用JavaScript实现单选功能.

由于项目要求需要实现,TreeView中CheckBox的单选功能,本人在网络上找了半天.没有找到满意的.于是自己研究了下,实现了这个功能,现放于Blog中,一方面一备忘,另一方面提供给需要的朋友. 有什么问题请提出. 

 

// 用Treeview chekbox节点单选的处理事件
function  TreeSingleSelect(treeID,checkNode)
{
    
if ( ! treeID)
    
return ;
    
var  objs  =  document.getElementsByTagName( " input " );
    
for ( var  i = 0 ;i < objs.length;i ++ )
    {
        
if (objs[i].type == ' checkbox ' )
        {
            
var  obj = objs[i];
            
if (obj.id.indexOf(treeID) !=- 1 )
            {
                
if (obj != checkNode)
                {
                    obj.checked
= false ;
                }
            }
        }
    }    
}
// 用于给TreeView的 chebox添加 单击事件(如果要将某一TreeView变为单选择 只需调用下面方法)
function  SetTreeNodeClickHander(treeID)
{
    
var  objs  =  document.getElementsByTagName( " input " );
    
for ( var  i = 0 ;i < objs.length;i ++ )
    {
        
if (objs[i].type == ' checkbox ' )
        {
            
var  obj = objs[i];
            
if (obj.id.indexOf(treeID) !=- 1 )
            {
                objs[i].onclick
= function (){TreeSingleSelect(treeID, this );};
            }
        }
    }
}

上面是主要的两个方法实现

TreeSingleSelect方法是,选择TreeView的CheckBox的事件.

SetTreeNodeClickHander这个方法是把TreeSingleSelect方法注册到TreeView的所有CheckBox上。

注册代码如下:

 

                 < div style = " width:500px; height:450px; overflow:auto " >
                
< asp:TreeView runat = " server "  ID = " tvAssetKindTree "  ExpandDepth = " 0 "  ShowCheckBoxes = " All "  ShowLines = " True "  ExpandImageToolTip = "" ></ asp:TreeView >
                
</ div >
                
< script type = " text/javascript "  language = " javascript " >
                SetTreeNodeClickHander(
"tvAssetKindTree" );
                
</ script >

SetTreeNodeClickHander方法的参数是TreeView的客户端ID,一般情况下和服务端ID想同,在有控件嵌套(如用户控件或者MasterPage中)TreeView.ClientID来,当然任何情况下都可以用后一种方法来实现.代码如下:

 

                 < div style = " width:500px; height:450px; overflow:auto " >
                
< asp:TreeView runat = " server "  ID = " tvAssetKindTree "  ExpandDepth = " 0 "  ShowCheckBoxes = " All "  ShowLines = " True "  ExpandImageToolTip = "" ></ asp:TreeView >
                
</ div >
                
< script type = " text/javascript "  language = " javascript " >
                SetTreeNodeClickHander(
"<%=tvAssetKindTree.ClientID%>" );
                
</ script >

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值