jQuery实现全选效果
Posted zhao.bo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery实现全选效果相关的知识,希望对你有一定的参考价值。
这是一段用jquery实现全选的代码,主要思路如下:
1.所有的复选框都有单击事件,所有效果都是在单击事件下实现的
2.全选复选框所实现的功能与其他复选选项实现的功能不同,所有在单击事件内做一个判断,是否是全选复选框的单击事件
3.如果是,则执行判断全选复选框是否选中,如果当前状态为选中,那么点击后取消勾选,同时取消所有选项的勾选,如果全选当前未选中,点击后勾选,并勾选所有
4.如果不是,说明点击的对象是出全选外的其他选项,那么就要判断当前已经勾选的选项的数量,是否等于除了全选复选框以外所有选项的数量,如果相等,则说明,选项全部勾选,同时将全选复选框也勾选,否则不勾选。
下面是我的代码。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>全选效果</title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $(\'input\').click(function(){ if($(this).index() == 0){ //判断当前全选框是否选中,如果选中则全选,否则全不选 if($(\'input\').eq(0).prop(\'checked\')){ $(this).nextAll().prop(\'checked\',true); }else{ $(this).nextAll().prop(\'checked\',false); } }else{ //判断除了全选之外的选项是否全部选中,选中则勾上全选,否则全不选 if($(\'input:gt(0):checked\').length == $(\'input\').length-1){ $(\'input\').eq(0).prop(\'checked\',true) }else{ $(\'input\').eq(0).prop(\'checked\',false) } } }) }) </script> </head> <body> <input type="checkbox" />全选 <input type="checkbox" />语文 <input type="checkbox" />数学 <input type="checkbox" />英语 </body> </html>
实现全选效果的思路也比较多,这种思路相对与分开两个单击事件的思路来说,稍微有点难理解,但其实实现效果的代码,是一样的。
代码的世界水太深,潜行的心态很纯真!
转载自:http://www.cnblogs.com/Q-zhangsan/p/6119517.html
以上是关于jQuery实现全选效果的主要内容,如果未能解决你的问题,请参考以下文章