JS實(shí)現(xiàn)CheckBox全選與取消

字號(hào):


    在批量處理列表數(shù)據(jù)時(shí),往往會(huì)用到 CheckBox 的全選與取消全選,雖然她的實(shí)現(xiàn)原理很簡單,但是對新手來說還是有些難度,本文介紹的方法,觸發(fā)條件獨(dú)立,可以全選或取消全選指定 name 的 CheckBox , 同一頁面可以有多組供全選的 CheckBox ,功能健全,通用性較強(qiáng)。
    js
    view sourceprint?01 <script type="text/javascript">
    02 function checkAll(name) {
    03 var el = document.getElementsByTagName('input');
    04 var len = el.length;
    05 for(var i=0; i<len; i++) {
    06 if((el[i].type=="checkbox") && (el[i].name==name)) {
    07 el[i].checked = true;
    08 }
    09 }
    10 }
    11 function clearAll(name) {
    12 var el = document.getElementsByTagName('input');
    13 var len = el.length;
    14 for(var i=0; i<len; i++) {
    15 if((el[i].type=="checkbox") && (el[i].name==name)) {
    16 el[i].checked = false;
    17 }
    18 }
    19 }
    20 </script>
    html
    view sourceprint?01 <input type="checkbox" name="test" value="" onclick="if(this.checked==true) { checkAll('test'); } else { clearAll('test'); }" /> 字母全選開關(guān)
    02 <input type="checkbox" name="test" value="a" /> a
    03 <input type="checkbox" name="test" value="b" /> b
    04 <input type="checkbox" name="test" value="c" /> c
    05 <input type="checkbox" name="test" value="d" /> d
    06 <input type="checkbox" name="test" value="e" /> e
    07 <input type="checkbox" name="test" value="f" /> f
    08 <input type="checkbox" name="test" value="g" /> g
    09 <br />
    10 <input type="checkbox" name="num" value="" onclick="if(this.checked==true) { checkAll('num'); } else { clearAll('num'); }" /> 數(shù)字全選開關(guān) <input type="checkbox" name="num" value="1" /> 1
    11 <input type="checkbox" name="num" value="2" /> 2
    12 <input type="checkbox" name="num" value="3" /> 3
    13 <br />
    14 <br />
    15 <input type="button" value="選擇所有的字母" onclick="checkAll('test')" /> <input type="button" value="清空選中的字母" onclick="clearAll('test')" /> <br />
    16 <br />
    17 <input type="button" value="選擇所有的數(shù)字" onclick="checkAll('num')" /> <input type="button" value="清空選中的數(shù)字" onclick="clearAll('num')" />