如何对表格中的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="" οnclick="checkAll(this)"/>全选
  </td>
  <td width="80%">
   <table id='MultCheckBoxTag'>
     <tr id='mcbt_0'>
      <td style='width:500'><input type='checkbox'  οnclick='cbOnclick(this);' value='5' name='myCheckBox'/>选项1</td>
   <td style='width:500'><input type='checkbox'  οnclick='cbOnclick(this);' value='6' name='myCheckBox'/>选项2</td>
   <td style='width:500'><input type='checkbox'  οnclick='cbOnclick(this);' value='7' name='myCheckBox'/>选项3</td>
     </tr>
     <tr id='mcbt_1'>
       <td style='width:500'><input type='checkbox'  οnclick='cbOnclick(this);' value='8' name='myCheckBox'/>选项4</td>
    <td style='width:500'><input type='checkbox'  οnclick='cbOnclick(this);' value='9' name='myCheckBox'/>选项5</td>
    <td style='width:500'><input type='checkbox'  οnclick='cbOnclick(this);' value='10' name='myCheckBox'/>选项6</td>
     </tr>
    </table>
   </td>
   </tr>
</table>
 </center>
 </BODY>
</HTML>

HTML本身并不直接提供获取表格选中的数据的功能,因为HTML是用于描述网页结构的语言,而数据的操作通常由脚本语言如JavaScript来完成。如果你想要在HTML页面上动态地获取未选中表格数据,你需要结合JavaScript或jQuery。 下面是一个简单的例子,使用JavaScript配合HTML的`<input type="checkbox">`元素来追踪哪些选项被选中: ```html <table> <tr> <td><input type="checkbox" data-id="1"></td> <td>Data 1</td> </tr> <!-- 添加更多行 --> </table> <script> var tableData = document.querySelectorAll('table tr input[type="checkbox"]'); var selectedIds = []; for (var i = 0; i < tableData.length; i++) { if (!tableData[i].checked) { var id = parseInt(tableData[i].getAttribute('data-id')); selectedIds.push(id); // 如果复选框未选中,则把id添加到数组 } } // selectedIds现在包含所有未选中的数据ID console.log("Unselected Data IDs:", selectedIds); </script> ``` 在这个例子,我们遍历表格的每个复选框,如果它未被选中(`checked`属性为`false`),我们就把它关联的数据ID添加到`selectedIds`数组。然后你可以打印出这个数组来查看未选中的数据ID。 如果你想在浏览器环境实时更新这个列表,你可能需要加上一些事件监听(比如`change`事件)来跟踪用户的交互。不过,这通常是配合服务器端的数据库查询来实现的,而非纯前端工作。如果你需要更复杂的数据管理功能,你可能会选择使用前端框架如React或Vue.js,它们提供更好的状态管理和组件化能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值