幻想指点江山,梦中激扬文字(飞天小肥猪的简单人生 Register | Login

JS全选checkBox最佳方案

获取 @neatdns.com 的免费邮箱
XML/HTML代码
  1. <input type="button" name="" value="不计算长度" onclick="a()">  
  2. <input type="button" name="" value="全选" onclick="b()">  
  3. <input type="button" value="缓存"  onclick="c()">  
  4. <input type="checkbox" name="test[]" value="0"> 测试测试<br>  
  5. <script language="JavaScript">  
  6. <!--   
  7. var ca = new Array();   
  8. function a()   
  9. {   
  10.     var m = document.getElementsByName('test[]');   
  11.     for ( var i=0; i< m.length ; i++ ){   
  12.         m[i].checked = !m[i].checked;    
  13.     }   
  14. }   
  15.   
  16. function b(){   
  17.     var m = document.getElementsByName('test[]');   
  18.     var l = m.length;   
  19.     for ( var i=0; i< l; i++){   
  20.         m[i].checked = !m[i].checked;    
  21.     }   
  22. }   
  23.   
  24. function c(){   
  25.     if (ca.length == 0){   
  26.         ca = cache();   
  27.     }   
  28.     cl = ca.length;   
  29.     for ( var i=0; i< cl; i++){   
  30.         ca[i].checked = ! ca[i].checked;   
  31.     }   
  32. }   
  33.   
  34. function cache(){   
  35.     var m = document.getElementsByName('test[]');   
  36.     var cache = new Array();   
  37.     var l = m.length;   
  38.     for ( var i=0; i< l; i++){   
  39.         cache[i] = m[i];   
  40.     }   
  41.     return cache;   
  42. }   
  43. //-->  
  44. </script>  

  黑黑,至于那个input type="checkbox"的,你们就尽量复制吧,尽量不要超过1W,否则。。别怪我没有提醒你,当然了,也不需要把浏览器关掉,跑到外面抽根烟再回来就行了。

  所以,我们要切实的记住,反正数组有长度的,坚决不能放在循环里面,而是先将这个长度取出来当成变量。PHP里也一样,循环数组的时候,先count数组的长度比较好。
当然了,我第三个采用了缓存,速度也是非常快的,比长度取好后再进行计算更快,因为连一次都不用取了(当然,除了第一次),全部扔给客户端了。

  上面的例子还是比较方便的,因为,checkbox的 name值都一样,如果不一样怎么办???
  只能这样:

JavaScript代码
  1. <script language="JavaScript">   
  2.  <!--   
  3.     function check(){   
  4.         var inputs = document.getElementsByTagName('input');   
  5.         var inputsLen = inputs.length;   
  6.         for (var i = 0; i < inputsLen ; i++ ){   
  7.             if (inputs[i].type.toLowerCase() == 'checkbox') {   
  8.                 inputs[i].checked = !inputs[i].checked;   
  9.             }   
  10.         }   
  11.     }   
  12.  //-->   
  13.  </script>   


本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自" 膘叔  簡單人生", 保留原始链接, 此外还必须标注原文标题和链接.

« 上一篇 | 下一篇 »

JS全选checkBox最佳方案 - Javascript,gouki,简单人生|PHP开发|架构研究 XML/HTML代码

发表评论

评论内容 (必填):