全选,取消全选gridview中的checkbox, 点击某一项的checkbox时,自动识别是否应该将checkAll设为选中还是非选中

全选,取消全选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" onclick="checkAll();" />
      </HeaderTemplate>
      <ItemTemplate>
        <input type="checkbox" id="checkItem" name="checkItem" runat="server" onclick="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)
    }
  }
}

posted @ 2013-06-02 18:53  Vihone  阅读(383)  评论(0编辑  收藏  举报