选中使用JQuery取消选中Gridview中的所有复选框

时间:2014-11-01 07:33:14

标签: c# jquery asp.net

选中使用JQuery取消选中Gridview中的所有复选框

查看更多:C#ASP.NET jQuery

此处不会在标题复选框中单击一下所有复选框

     <script type="text/javascript" language="javascript">
     function CheckAll(Checkbox) {
     var GridView1 = document.getElementById("<%=GridView1.ClientID %>");
     for (i = 1; i < GridView1.rows.length; i++) {
      GridView1.rows[i].cells[3].getElementsByTagName("INPUT")[0].checked       =Checkbox.checked;
       }} 

     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" Width="624px" CssClass="grid" 
        AllowPaging="True" AllowSorting="True" BackColor="White"  OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit"
        BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" PageSize = "5" 
        OnRowUpdating="GridView1_RowUpdating" DataKeyNames="id">         
            <Columns>
            <asp:TemplateField>
                &lt;HeaderTemplate>
        <asp:CheckBox ID="chkHeader" runat="server" onclick="CheckAll(this)"/>
            &lt;/HeaderTemplate>
            <ItemTemplate>
            <asp:CheckBox ID="chkchild" runat="server" />
            </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" InsertVisible="False" ReadOnly="True" />
                <asp:BoundField DataField="updatedby" HeaderText="updatedby" SortExpression="updatedby" />
            <asp:BoundField DataField="username" HeaderText="username" SortExpression="username" />
            <asp:BoundField DataField="password" HeaderText="password" SortExpression="password" />
            <asp:BoundField DataField="mail" HeaderText="mail" SortExpression="mail" />
 <asp:BoundField DataField="imagename" HeaderText="imagename" SortExpression="imagename" />
            <asp:ImageField DataImageUrlField="uploadimage" HeaderText="uploadimage" ControlStyle-Width = "80" ControlStyle-Height = "100">
            <ControlStyle Height="100px" Width="80px"></ControlStyle>
            </asp:ImageField>
     <asp:CommandField ShowEditButton="True" />
        </Columns>  
   </asp:GridView>

3 个答案:

答案 0 :(得分:1)

checkedbool类型的属性。

您应该为其分配truefalse

GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = true;

根据0代码,您的Cell值应为aspx

答案 1 :(得分:0)

(如果你提供了渲染的HTML,会更容易)

$(function() {
    // Get your GridView, to restrict the "check/uncheck all" action only to this GridView (and don't mess up with another controllers in the page)
    var MainGridView = $('#GridView1');  // Set your GridView's Id

    // Bind Your Button to Check All CheckBoxes (Set the Id, or whatever CSS selector to match your CHECK ALL CHECKBOXES button)
    // This CSS selector applied to your needs will be '#chkHeader'. (Use only this piece of code, and do not bind the uncheck to this control too, otherwise it will check and uncheck all everytime)
    $('#ButtonCheckAllCheckBoxes').click(
        function () {
            MainGridView.find("input[type='checkbox']").prop('checked', true);
        }
    );


    // Bind Your Button to Uncheck All CheckBoxes (Set the Id, or whatever CSS selector to match your UNCHECK ALL CHECKBOXES button)
    $('#ButtonUncheckAllCheckBoxes').click(
        function () {
            MainGridView.find("input[type='checkbox']").prop('checked', false);
        }
    );
});

答案 2 :(得分:0)

更改此行:

GridView1.rows [i] .cells [3] .getElementsByTagName(“INPUT”)[0] .checked = Checkbox.checked;

用这个

GridView1.rows [i] .cells [0] .getElementsByTagName(“INPUT”)[0] .checked = Checkbox.checked;