选中使用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>
<HeaderTemplate>
<asp:CheckBox ID="chkHeader" runat="server" onclick="CheckAll(this)"/>
</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>
答案 0 :(得分:1)
checked
是bool
类型的属性。
您应该为其分配true
或false
:
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;