ITPUB??ì3
ITPUB论坛 » Web开发 » ASP.NET与AJAX » 怎样选择一个TR内容中的全部CheckBox

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: 怎样选择一个TR内容中的全部CheckBox
离线 zly526
一般会员



精华贴数 0
个人空间 0
技术积分 196 (9616)
社区积分 0 (1203470)
注册日期 2006-12-7
论坛徽章:1
开发板块每日发贴之星     
      

发表于 2006-12-13 10:53 
怎样选择一个TR内容中的全部CheckBox

我在做一个权限管理页面,需要选择一个大类后,就选择所有小类,请问如何实现?
<!--系统信息管理-->

                            <tr id="box_system">      
                                <td width="10px" style="height: 20px"></td>                          
                                <td width="130px" align="left" style="height: 20px"><asp:CheckBox ID="check_system" Text="系统信息管理"  SkinID="popedom" runat="server"/></td>
                                <td align="left" style="height: 20px" >
                                    <asp:CheckBoxList  RepeatLayout="Flow" RepeatDirection="Horizontal" ID="checklist_system" runat="server"  DataTextField="text" DataValueField="link">
                                    </asp:CheckBoxList>
                                </td>


    function CheckListAll(var id)
   {
        alert(id);
        boxes=document.getElementById(id).childNodes;            
        for(int i=0;i<boxes.length;i++){
            if(boxes.type=="checkbox"boxes.checked=!boxes.checked;
        }
   }
这是我些的脚本,有错误,我是JS新手,请多多帮忙(我已经关联了,可是连alert都没用)   

this.check_system.Attributes.Add("onclick", "CheckListAll(box_system)";                           
                          </tr>


只看该作者    顶部
离线 mxd061203
初级会员



精华贴数 0
个人空间 0
技术积分 122 (14264)
社区积分 0 (1203502)
注册日期 2006-12-8
论坛徽章:0
      
      

发表于 2006-12-13 10:54 
楼主你这样不对,你传递给CheckListAll函数的参数是box_system
是那个tr的id
那么tr的childNodes是什么呢?
当然是td的集合了,呵呵


只看该作者    顶部
离线 mxd061203
初级会员



精华贴数 0
个人空间 0
技术积分 122 (14264)
社区积分 0 (1203502)
注册日期 2006-12-8
论坛徽章:0
      
      

发表于 2006-12-13 10:54 
你用的CheckBoxList的RepeatLayout="Flow",所以你可以把CheckBoxList的ClientID传递给你的函数
像这样:
this.check_system.Attributes.Add("onclick", "CheckListAl(checklist_system.ClientId);";
这样传递给函数的是CheckBoxList的客户端ID
然后就能找到其中的CheckBox了


只看该作者    顶部
离线 zly526
一般会员



精华贴数 0
个人空间 0
技术积分 196 (9616)
社区积分 0 (1203470)
注册日期 2006-12-7
论坛徽章:1
开发板块每日发贴之星     
      

发表于 2006-12-13 10:55 
还是没用,boxes=document.getElementById(id).childNodes;   就报错了


只看该作者    顶部
离线 zly526
一般会员



精华贴数 0
个人空间 0
技术积分 196 (9616)
社区积分 0 (1203470)
注册日期 2006-12-7
论坛徽章:1
开发板块每日发贴之星     
      

发表于 2006-12-13 10:56 
呵呵,已经搞定了,原来是TD的子元素是<span>
/*根据clicker的选择状态选择ID中所有的checkbox*/
function CheckListAll(clicker,id)
   {
        if(clicker.type!="checkbox"return;
        boxes=document.getElementById(id).getElementsByTagName("input";
        //alert(boxes[8].checked);
        for(var i=0;i<boxes.length;i++){
            var e=boxes;
            if(e.type=="checkbox"e.checked=clicker.checked;            
        }
   }


只看该作者    顶部
离线 zly526
一般会员



精华贴数 0
个人空间 0
技术积分 196 (9616)
社区积分 0 (1203470)
注册日期 2006-12-7
论坛徽章:1
开发板块每日发贴之星     
      

发表于 2006-12-13 10:57 
谢谢你啊


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问