• javascript checkbox全选,反选


    主要用到dom api的

    document.getElementById("id");//获取ID为"id"的DOM对象

    document.getElementsByTagName(“input”)//获取Document下所有的Input对象

    全选效果

    效果:

    代码:

    <style>
    *{ margin:0; padding:0}
    #checkList{ line-height: 22px; font: normal 12px/22px simsun; padding:2px 0;}
    #checkList th{ text-align:center;}
    #checkList td{}
    </style>
    <table id="checkList" width="163" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th width="50"><label>
          <input type="checkbox" name="checkbox" id="checkbox" />
        </label></th>
        <td width="113">全选</td>
      </tr>
      <tr>
        <th align="center"><input type="checkbox" name="checkbox2" id="checkbox2" /></th>
        <td>1</td>
      </tr>
      <tr>
        <th align="center"><input type="checkbox" name="checkbox3" id="checkbox3" /></th>
        <td>2</td>
      </tr>
      <tr>
        <th align="center"><input type="checkbox" name="checkbox4" id="checkbox4" /></th>
        <td>3</td>
      </tr>
    </table>
    
    <script>
    (function(){ var checkBoxWrap=document.getElementById("checkList");//表格 var checkAll=checkBoxWrap.getElementsByTagName("tr")[0];//头行 var checkList=checkBoxWrap.getElementsByTagName("input");//所有INPUT checkAll.onclick=function(){ var thisCheckAll=this.getElementsByTagName("input")[0];
    //点选过程的BUG已修正
    for(var i=1,len=checkList.length;i<len;i++){ checkList[i].checked=thisCheckAll.checked; } }
    })()
    </script>

    实现上面的效果。

    checkBoxWrap.getElementsByTagName("tr")[0]; 可以用DOM中的表格相关的集合来替代 checkBoxWrap.rows[0]

    反选效果

    效果:

    代码:

    <style>
    *{ margin:0; padding:0}
    #checkList{ line-height: 22px; font: normal 12px/22px simsun; padding:2px 0;}
    #checkList th{ text-align:center;}
    #checkList td{}
    </style>
    <table id="checkList" width="163" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th colspan="2"><button id="btnInvert" >反选</button></th>
      </tr>
      <tr>
        <th width="50" align="center"><input type="checkbox" name="checkbox2" id="checkbox2" /></th>
        <td width="113">1</td>
      </tr>
      <tr>
        <th align="center"><input type="checkbox" name="checkbox3" id="checkbox3" /></th>
        <td>2</td>
      </tr>
      <tr>
        <th align="center"><input type="checkbox" name="checkbox4" id="checkbox4" /></th>
        <td>3</td>
      </tr>
    </table>
    
    <script>
    var checkBoxWrap=document.getElementById("checkList");
    var invertAll=document.getElementById("btnInvert");
    var checkList=checkBoxWrap.getElementsByTagName("input");
    invertAll.onclick=function(){    
        for(var i=0,len=checkList.length;i<len;i++){
            checkList[i].checked=!checkList[i].checked;//取自身反
        }
    }
    
    </script>
  • 相关阅读:
    【网络游戏同步技术】帧同步的一致性
    【C++】STL常用容器总结之五:双端队列deque
    使 egg-multipart 同时支持 stream 和 file
    react + 图灵api 实现模拟客服
    egg 扩展上传文件白名单
    input[type=file] 样式美化,input上传按钮美化
    react-lazyload 实现图片懒加载
    useEffect 模拟 react 生命周期
    egg 实现下载数据,并保存成excel文件
    egg 实现上传excel,并解析保存到数据库
  • 原文地址:https://www.cnblogs.com/wengxuesong/p/3076137.html
Copyright © 2020-2023  润新知