tryandtry.cn

导航

 

今天终于实现了全选CheckBox而不用AJAX或者回传事件,省时又效率

    全选和全不选,不会出现选中的项目全选时却不选的情况

前台代码如下:

GridView代码:

 

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" Width="100%" DataKeyNames="PermitID" >
          <Columns>
           <asp:TemplateField>
               <HeaderTemplate>
                   <input  id="CheckAll" type="checkbox" onclick="selectAll(this);" />
               </HeaderTemplate>
               <ItemTemplate>
                   <asp:CheckBox runat="server" ID="checkbox"  />
               </ItemTemplate>
               <ItemStyle Width="100px" />
           </asp:TemplateField>
           <asp:BoundField DataField="PermitCode" HeaderText="权限代码" SortExpression="PermitCode" />
           <asp:BoundField DataField="PermitName" HeaderText="权限名称" SortExpression="PermitName" />
          </Columns>
          <HeaderStyle CssClass="GVHeader" />
          <AlternatingRowStyle CssClass="GVAlternatingRow" />
          <RowStyle CssClass="GVRow" />
          <PagerStyle CssClass="GVPage" />
          <PagerSettings Visible="False" />
</asp:GridView>

 

其发挥作用的脚本如下:

 <script type="text/javascript">    
    function selectAll(obj)
    {
        var theTable  = obj.parentElement.parentElement.parentElement;
        var i;
        var j = obj.parentElement.cellIndex;
       
        for(i=0;i<theTable.rows.length;i++)
        {
            var objCheckBox = theTable.rows[i].cells[j].firstChild;
            if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
        }
    }
</script>

posted on 2010-11-16 11:13  Lonlong  阅读(307)  评论(0编辑  收藏  举报