动态生成的GRIDVEIW中存在checkbox(全选),与checkboxlist(子项),点击全选时全选子项:       function Choseseason(obj) {
            var chkItems = $("#FitSeasons").find("input");
            if (obj.checked) {
                for (var i = 0; i < chkItems.length; i++) {
                    chkItems[i].checked = true;
                }
            }
            else {
                for (var i = 0; i < chkItems.length; i++) {
                    chkItems[i].checked = false;
                }
            }
        }
这样写会使下一个全选,全选上了上一个子项
     <asp:GridView>
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <table>
                        <tr>
                            <td>
                                <asp:Image ID="Image1" Width="304px" Height="224px" runat="server" ImageUrl="" />
                                <asp:HiddenField ID="hiddImagURL" runat="server" Value="~/Image/PPpic_default.jpg" />
                            </td>
                            <td valign="top">
                                <table cellpadding="0" cellspacing="0" width="100%" class="conditonTable">
                                    <tr>
                                        <th>
                                            这样的全选怎么做:
                                        </th>
                                        <td>
                                            <table cellpadding="0" cellspacing="0" border="0">
                                                <tr>
                                                    <td>
                                                        <asp:CheckBox ID="CheckBox1" runat="server" Text="全选" />
                                                    </td>
                                                    <td id="tdChkList">
                                                        <asp:CheckBoxList ID="CblDinnerComments" runat="server" RepeatDirection="Horizontal">
                                                            <asp:ListItem Text="全部" Value="-1"></asp:ListItem>
                                                        </asp:CheckBoxList>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                </table>
                    </fieldset>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

解决方案 »

  1.   

            function CheckAll(e, itemname) {
                var aa = document.getElementsByName(itemname);
                if (aa == undefined) return;
                for (var i = 0; i < aa.length; i++) {
                    aa[i].checked = e.checked;
                }
            }
    这个是我在用Repeater用的一个全选里面是checkbox,不是checkboxlist。希望对你有帮助
      

  2.   

    用jquery   很简单。   
    $('input.check').attr('checked',$(':checkbox',this).attr('checked'));要么就是循环 GRIDVEIW    一个一个的赋为选中
      

  3.   

    <script type="text/javascript">
     function checkAll(name)
      {    
     
          var el = document.getElementsByTagName('input');   
          var len = el.length;     
          for(var i=0; i<len; i++)    
          {         
             if((el[i].type=="checkbox") && (el[i].name==name))      
                {          
                   el[i].checked = true;         
                 }   
                   
            } 
        }
         
        function clearAll(name)
        {   
            var el = document.getElementsByTagName('input');    
            var len = el.length;    
            for(var i=0; i<len; i++)   
            {  
                if((el[i].type=="checkbox") && (el[i].name==name))      
                 {  
                       el[i].checked = false;       
                 }   
            } 
                
         } 
        </script> 
    参考
      

  4.   

    动态生成的Table.你这样写能行么!明天得到公司试试