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 保存数组到Cookie的代码
Apr 14 Javascript
js TextArea的选中区域处理
Dec 28 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
Mar 04 Javascript
js阻止浏览器默认行为的简单实例
May 15 Javascript
微信小程序 富文本转文本实例详解
Oct 24 Javascript
babel基本使用详解
Feb 17 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
关于vue-router的那些事儿
May 23 Javascript
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 jQuery
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中的加密功能
2006/10/09 PHP
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
详解 PHP加密解密字符串函数附源码下载
2015/12/18 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
原生js实现水平方向无缝滚动
2017/01/10 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
python运行时强制刷新缓冲区的方法
2019/01/14 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
python之列表推导式的用法
2019/11/29 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
珍珠鸟教学反思
2014/02/01 职场文书
2015年党员承诺书
2015/01/21 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
无保留意见审计报告
2015/06/05 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
Python制作春联的示例代码
2022/01/22 Python