全选,取消全选gridview中的checkbox, 点击某一项的checkbox时,自动识别是否应该将checkAll设为选中还是非选中
可以尝试将checkbox直接用html控件,此处用了runnat="server" , 如果用html控件不能执行到相应的脚本,提示脚本函数未定义,请加上runat="server"为checkbox
<div class="mainContent">
<asp:GridView ID="gvContent" runat="server" DataKeyNames="ContentID" AutoGenerateColumns="False" PageSize="20" AllowPaging="True">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" id="checkAll" name="checkAll" runat="server" οnclick="checkAll();" />
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" id="checkItem" name="checkItem" runat="server" οnclick="checkItem();" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
var checkAll = function () {
if ($("input[id$='checkAll']").prop("checked") == true) {
$(":checkbox:input[name$='checkItem']").prop("checked", true);
}
else {
$(":checkbox:input[name$='checkItem']").prop("checked", false);
}
}
var checkItem = function (obj) {
var count = $(":checkbox:input[name$='checkItem']").length;
var checkedCount = $(":checkbox:input[name$='checkItem']:checked").length;
var checkAllchecked = $("[id$='checkAll']").prop("checked");
if (count == checkedCount) {
if (!checkAllchecked) {
$("[id$='checkAll']").prop("checked", true)
}
}
else {
if (checkAllchecked) {
$("[id$='checkAll']").prop("checked", false)
}
}
}