Skip to main content

jQuery : Select all checkboxes in Grid View

While working with Grid View control one of the most common scenarios encountered is that select all child checkboxes.

Here I would like to share a quick and really easy code snippet that I have written in jQuery.

Let’s start with Grid View code below, here key points are

1) Id of <HeaderTemplate> checkbox.           id="chkParent"

2) CssClass of <ItemTemplate> checkbox.      CssClass="chkChild"

<asp:GridView ID="gvMemberBuddies" runat="server"  AutoGenerateColumns="false" CellPadding="2" CellSpacing="0" 
Width="100%">
  <Columns>
     <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="50px" >
         <HeaderTemplate>
             <input id="chkParent" name="chkParent" type="checkbox">
         </HeaderTemplate>
         <ItemTemplate>
              <asp:CheckBox ID="chkMember" runat="server" CssClass="chkChild" />
         </ItemTemplate>
         <ItemStyle VerticalAlign="top" />
         <HeaderStyle VerticalAlign="middle" />
         </asp:TemplateField>
       <asp:BoundField DataField="BuddyName" HeaderStyle-HorizontalAlign="Left" HeaderText="Buddy Name" />
  </Columns>
</asp:GridView>

Here are the jQuery Functions
$(document).ready(function () {
    $("#chkParent").click(function() {
        SelectAllCheckBoxes(this)
    });

    $(".chkChild").click(function() {
        ToggleParentCheckBox();
    });
});

function SelectAllCheckBoxes(parentChkbox) {
   $(".chkChild").attr('checked', $(parentChkbox).attr('checked'));
}

function ToggleParentCheckBox() {
    var childchkb = $(".chkChild");
    var allchklnt = childchkb.length;
    if (allchklnt > 0) {
        var isChecked = true;
        for (var i = 0; i < allchklnt; i++) {
            if (!childchkb[i].checked){isChecked = false; break;}
        }
        $("#chkParent").attr('checked', isChecked);
    }
}
Try demo below:

Buddy Name
Buddy A
Buddy B
Buddy C
Buddy D
Buddy E

Comments

Popular posts from this blog

JavaScript: Validate email address

Sometime we need to validate email address entered by user on client side, Here i have written a very simple but useful javascript regex to validate email address. function validate(email) { var reg = /^([A-Za-z0-9_\-\.]{2,})+\@([A-Za-z0-9_\-\.]{2,})+\.([A-Za-z]{2,4})$/; if(reg.test(email) == false) return true; else return false; }

JavaScript functions to get browser name & version

Common javascript functions to get browser name & version, I post here primarily for my own benefit as I always forget the syntax each time I need it. Get Browser Name function getBrowser() { var userAgent = navigator.userAgent.toLowerCase(); if (/webkit/.test( userAgent )) { return "safari"; } if (/opera/.test( userAgent )) { return "opera"; } if (/msie/.test( userAgent ) && !/opera/.test( userAgent )) { return "msie"; } if (/mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )) { return "mozilla"; } }; Get Browser Version function getBrowserVersion() { var userAgent = navigator.userAgent.toLowerCase(); return (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1]; }; Get Browser Type function(){ var isIE11 = function(){ var userAgent = navigator.userAgent.toLowerCase(); return (!$.browser.msie) && (userAgent.indexOf("trident") > 0); }; ...