js用于树型结构级联选择 支持三态级联选择

本文介绍了一种基于HTML和JavaScript实现的三态级联选择器,该选择器适用于权限设置等场景。通过简单的HTML结构配合JavaScript代码,实现了父级选项勾选状态同步到子级的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

None.gif < html >
None.gif
None.gif
< head >
None.gif
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
None.gif
< title > 及联选择-用于权限选择比较合适 </ title >
None.gif
</ head >
None.gif
None.gif
< body >
None.gif
< ul  id ="tree" >
None.gif    
< li >< input  type =checkbox >
None.gif        
< ul >
None.gif            
< li >< input  type =checkbox >
None.gif                
< ul >
None.gif                    
< li >< input  type =checkbox ></ li >
None.gif                    
< li >< input  type =checkbox ></ li >
None.gif                
</ ul >
None.gif            
</ li >
None.gif        
</ ul >
None.gif    
</ li >
None.gif
</ ul >
None.gif
</ body >
ExpandedBlockStart.gifContractedBlock.gif
< script  language ="javascript" > dot.gif
InBlock.gif
InBlock.gif
var arr = tree.getElementsByTagName('input')
ExpandedSubBlockStart.gifContractedSubBlock.gif
for(var i=0; i<arr.length; i++)dot.gif{
InBlock.gif    
var input = arr[i]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if(input.type == 'checkbox')dot.gif{
InBlock.gif        input.onclick 
= ClickInput
ExpandedSubBlockEnd.gif    }

ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
function ClickInput()dot.gif{
InBlock.gif    
var li = this.parentElement;
InBlock.gif    
var arr = li.getElementsByTagName('input')
ExpandedSubBlockStart.gifContractedSubBlock.gif    
for(var i=0; i<arr.length; i++)dot.gif{
InBlock.gif        
var input = arr[i]
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if(input.type == 'checkbox')dot.gif{
InBlock.gif            input.checked 
= this.checked
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif    
var li = li.parentElement.parentElement
InBlock.gif    
ExpandedSubBlockStart.gifContractedSubBlock.gif    
while(li.tagName.toLowerCase() == 'li')dot.gif{
InBlock.gif        
var input = li.childNodes[0]
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if(input.tagName.toLowerCase() == 'input')dot.gif{
InBlock.gif            input.checked 
= this.checked
ExpandedSubBlockEnd.gif        }

InBlock.gif        li 
= li.parentElement.parentElement
ExpandedSubBlockEnd.gif    }

ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif
None.gif
</ script >
None.gif
</ html >
None.gif


更新:支持三态级联选择
下载: /Files/boolean/checkbox3StatucCascadeSelectTree.zip
在线演示: /Files/boolean/cascadeTree.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值