JS 全选 checkBox 最佳方案
2013-12-17 03:28
405 查看
input type="button" name="" value="不计算长度" onclick="a()"> <input type="button" name="" value="全选" onclick="b()"> <input type="button" value="缓存" onclick="c()"> <input type="checkbox" name="test[]" value="0"> 测试测试<br> <script language="JavaScript"> <!-- var ca = new Array(); function a() { var m = document.getElementsByName('test[]'); for ( var i=0; i< m.length ; i++ ) { m[i].checked == true ? m[i].checked = false : m[i].checked = true; } } function b() { var m = document.getElementsByName('test[]'); var l = m.length; for ( var i=0; i< l; i++) { m[i].checked == true ? m[i].checked = false : m[i].checked = true; } } function c() { if (ca.length == 0) { ca = cache(); } cl = ca.length; for ( var i=0; i< cl; i++) { ca[i].checked == true ? ca[i].checked = false : ca[i].checked = true; } } function cache() { var m = document.getElementsByName('test[]'); var cache = new Array(); var l = m.length; for ( var i=0; i< l; i++) { cache[i] = m[i]; } return cache; } //--> </script>
至于那个input type="checkbox"的,你们就尽量复制吧,尽量不要超过1W,否则。。别怪我没有提醒你,当然了,也不需要把浏览器关掉,跑到外面抽根烟再回来就行了。
所以,我们要切实的记住,反正数组有长度的,坚决不能放在循环里面,而是先将这个长度取出来当成变量。PHP里也一样,循环数组的时候,先count数组的长度比较好。
当然了,我第三个采用了缓存,速度也是非常快的,比长度取好后再进行计算更快,因为连一次都不用取了(当然,除了第一次),全部扔给客户端了。
上面的例子还是比较方便的,因为,checkbox的 name值都一样,如果不一样怎么办???
只能这样
script language="JavaScript"> <!-- function check() { var inputs = document.getElementsByTagName('input'); var inputsLen = inputs.length; for (var i = 0; i < inputsLen ; i++ ) { if (inputs[i].type.toLowerCase() == 'checkbox') { inputs[i].checked == true ? inputs[i].checked = false : inputs[i].checked = true; } } } //--> </script>
缓存方法同上,这里就不多讨论了
相关文章推荐
- JS全选checkBox最佳方案。
- JS全选checkBox最佳方案
- javascript中CheckBox全选终极方案
- 前台js 2种 全选和不全选checkbox复选框
- js控制gridview 中的checkbox 全选
- JS对checkbox全选和取消全选
- 控制Checkbox全选的JS
- js之checkbox的代码全选/全不选,使用id获取元素,而不是name
- jquery、js操作checkbox全选反选
- js去掉字符串前后空格三种方法及最佳方案
- js操作CheckBoxList实现全选、反选 (很好,已经验证过了)
- (jQuery版)js:CheckBoxList全选,取消
- JavaScript学习笔记之js实现复选框checkbox的全选、反选示例
- JS实现CheckBox复选框全选全不选功能
- JS全选,复选框是.net服务器控件checkBox 在GridView中的模板列
- javascript中CheckBox全选终极方案
- js 的CheckBox 的全选总结 (Table或GridView中所有的CheckBox处理) j-query的处理
- js搜索相同类型的控件全选、取值(Checkbox)
- js解决checkbox全选和反选的问题
- Ferris教程学习笔记:js示例2.17 复选框(checkbox)全选/全不选/反选