javascript中CheckBox全选终极方案


Posted in Javascript onMay 20, 2015

在我们的程序开发中经常会要用到CheckBox的全选,通常情况下是在一些数据绑定控件中如Gridview等

下面以Repeater为例,在Repeater的header 和item中放入CheckBox控件 。

<asp:Repeater ID="rptGroup" runat="server"> 
  <HeaderTemplate> 
    <table width="100%" cellspacing="1" >
      <tr> 
        <td width="3%" align="center" >
         <input type="checkbox" id="chkAll" name="chkAll" value="checkbox" 
         onclick="checkAll  ('chkAll',this);" />             
        </td> 
      </tr> 
  </HeaderTemplate> 
  <ItemTemplate> 
    <tr> 
    <td align="center" >
     <input type="checkbox" name="chkSelect" value='<%# Eval("ID") %>' 
     onclick="checkAll('chkAll',this);"/>
    </td> 
    </tr> 
  </ItemTemplate> 
  <FooterTemplate> 
    </table> 
  </FooterTemplate> 
 </asp:Repeater>

下面就是js脚本了

checkAll方法是实现CheckBox的全选和取消全选的。

function checkAll(chkAllID, thisObj) {
  var chkAll = document.getElementById(chkAllID);
  var chks = document.getElementsByTagName("input");
  var chkNo = 0;
  var selectNo = 0;
  for (var i = 0; i < chks.length; i++) {
    if (chks[i].type == "checkbox") {
      //全选触发事件  
      if (chkAll == thisObj) {
        chks[i].checked = thisObj.checked;
      }
      //非全选触发 
      else {
        if (chks[i].checked && chks[i].id != chkAllID)
          selectNo++;
      }
      if (chks[i].id != chkAllID) {
        chkNo++;
      }
    }
  }
  if (chkAll != thisObj) {
    chkAll.checked = chkNo == selectNo;
  }
}

checkSelectNo 函数是用来获取 所有checkbox 选中的个数 这个在用来判断 是否有勾选时非常有用。

function checkSelectNo(chkAllID) {
  var chks = document.getElementsByTagName("input");
  var selectNo = 0;
  for (var i = 0; i < chks.length; i++) {
    if (chks[i].type == "checkbox") {
      if (chks[i].id != chkAllID && chks[i].checked) {
        selectNo++;
      }
    }
  }
  return selectNo;
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
javascript下IE与FF兼容函数收集
Sep 17 Javascript
关于textarea提交的内容无法换行的解决办法
Apr 09 Javascript
简单的ajax连接库分享(不用jquery的ajax)
Jan 19 Javascript
Jquery Ajax方法传值到action的方法
May 11 Javascript
jquery Validation表单验证使用详解
Sep 12 Javascript
javascript中checkbox使用方法实例演示
Nov 19 Javascript
第九篇Bootstrap导航菜单创建步骤详解
Jun 21 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
js使用generator函数同步执行ajax任务
Sep 05 Javascript
vue导出html、word和pdf的实现代码
Jul 31 Javascript
监控微信小程序中的慢HTTP请求过程详解
Jul 05 Javascript
Vue中函数防抖节流的理解及应用实现
Apr 24 Javascript
javascript消除window.close()的提示窗口
May 20 #Javascript
在JS方法中返回多个值的方法汇总
May 20 #Javascript
AspNet中使用JQuery上传插件Uploadify详解
May 20 #Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 #Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
May 20 #Javascript
JS中的Replace方法使用经验分享
May 20 #Javascript
jquery使用经验小结
May 20 #Javascript
You might like
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Python全局变量操作详解
2015/04/14 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
用 Python 制作地球仪的方法
2020/04/24 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
Django实现内容缓存实例方法
2020/06/30 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
档案室主任岗位职责
2014/02/12 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
车间核算员岗位职责
2014/07/01 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers