如何对表格中的checkbox,进行全选中、部分选中,全不选中的小组件

如何对表格中的checkbox,进行全选中、部分选中,全不选中的小组件

以下是源文件(在回显时可以调用cbOnclick(obj)方法):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> 如何对表格中的checkbox,进行全选中、部分选中,全不选中的小组件 </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script>
  //部分选择时执行
function cbOnclick(obj){
 var cbAll=obj.parentNode.parentNode.parentNode.parentNode.parentNode.previousSibling.getElementsByTagName("input")[0];
 if(cbAll.indeterminate==false){
  cbAll.indeterminate=true;
 }
 if(checkCB(obj)==1){
  cbAll.indeterminate=false;
  cbAll.checked=true;
 }else if(checkCB(obj)==2){
  cbAll.indeterminate=false;
  cbAll.checked=false;
 }
}
//校验该文本框里,分三种情况 :全选、全不选、部分被选中
function checkCB(obj){
 var flag=0;
 var oo=obj.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("input");
 var k=0;
 if(oo!=null&&oo.length>0){
    for(var i=0;i<oo.length;i++){
       if(oo[i].checked==true){
         k++;
    }
    }
 }
 if(k==oo.length){//全部被选中
    flag=1;
 }else if(k==0){//全不选
    flag=2;
 }else{//部分被选中
    flag=0;
 }
 
 return flag;
}
//全选
function checkAll(obj){
    var cbs=obj.parentNode.nextSibling.getElementsByTagName("input");
 if(cbs!=null&&cbs.length>0){
  for(var i=0;i<cbs.length;i++){
    if(cbs[i].type=='checkbox'){
   if(obj.checked==true){
      cbs[i].checked=true;
   }else{
      cbs[i].checked=false;
   }
    }
  }
 }

 
  </script>
 </HEAD>

 <BODY>
 <center>
<table align='center' border='1' bordercolor='#8CB3E3' cellpadding='0'
  cellspacing='0' style='border-collapse: collapse;' width='500px'>
  <tr>
  <td width="20%">
     <input type="checkbox" value="" id="" onclick="checkAll(this)"/>全选
  </td>
  <td width="80%">
   <table id='MultCheckBoxTag'>
     <tr id='mcbt_0'>
      <td style='width:500'><input type='checkbox'  onclick='cbOnclick(this);' value='5' name='myCheckBox'/>选项1</td>
   <td style='width:500'><input type='checkbox'  onclick='cbOnclick(this);' value='6' name='myCheckBox'/>选项2</td>
   <td style='width:500'><input type='checkbox'  onclick='cbOnclick(this);' value='7' name='myCheckBox'/>选项3</td>
     </tr>
     <tr id='mcbt_1'>
       <td style='width:500'><input type='checkbox'  onclick='cbOnclick(this);' value='8' name='myCheckBox'/>选项4</td>
    <td style='width:500'><input type='checkbox'  onclick='cbOnclick(this);' value='9' name='myCheckBox'/>选项5</td>
    <td style='width:500'><input type='checkbox'  onclick='cbOnclick(this);' value='10' name='myCheckBox'/>选项6</td>
     </tr>
    </table>
   </td>
   </tr>
</table>
 </center>
 </BODY>
</HTML>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)